XFire WSDLパラメータ名の変更方法
2944 ワード
WebServicesインタフェースの記述ファイルWSDLでは、name=「in 0」のようなパラメータ構成がよく見られます.以下のようになります.
これはクライアントにとって不便で、可読性が悪く、インタフェースドキュメントに向かってしか各パラメータの名前が分からない.では、これらの友好的でない名前を友好的なパラメータ名に変更するにはどうすればいいのでしょうか.たとえば、name=「callTime」です.実装手順は次のとおりです.
第一歩、JSR 181注記構成(annotation方式とも呼ばれる)は、webserviceインタフェースクラスを注記する.
ステップ2xmlファイル構成
ステップ3、これで、構成ステップが完了し、効果が表示されます.
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="xsd:string" />
これはクライアントにとって不便で、可読性が悪く、インタフェースドキュメントに向かってしか各パラメータの名前が分からない.では、これらの友好的でない名前を友好的なパラメータ名に変更するにはどうすればいいのでしょうか.たとえば、name=「callTime」です.実装手順は次のとおりです.
第一歩、JSR 181注記構成(annotation方式とも呼ばれる)は、webserviceインタフェースクラスを注記する.
package com.metarnet.webservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface IAlarmSwitchService {
@WebMethod
@WebResult(name="resultMsg")
public String transferAlarm(@WebParam(name="serSupplier")String serSupplier,
@WebParam(name="serCaller")String serCaller,
@WebParam(name="callerPwd")String callerPwd,
@WebParam(name="callTime")String callTime,
@WebParam(name="opDetail")String opDetail);
}
ステップ2xmlファイル構成
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>AlarmSwitchService</name>
<serviceClass>
com.metarnet.webservice.IAlarmSwitchService
</serviceClass>
<implementationClass>
com.metarnet.webservice.AlarmSwitchServiceImpl
</implementationClass>
<serviceFactory>jsr181</serviceFactory><!-- , in0...-->
</service>
</beans>
ステップ3、これで、構成ステップが完了し、効果が表示されます.
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="serSupplier" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="serCaller" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="callerPwd" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="callTime" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="opDetail" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>