2016-06-15 13 views
1

Eclipse IDEでクライアントプロキシJavaファイルを生成する必要があります。wsdportを使用してwsdlクライアントプロキシを生成するためのカスタムバインディングの作成

私はwsimportコマンドでこれを生成しようとしました。以下は、私が使用したコマンドです。

wsimportの-keep -b bindings.xmlに-p com.aasc.carrier.shipexec.proxy -implServiceName wcfSoxContract -implPortName wcfShip http://shipexec.com/demo/wcf/soap?wsdl -B-XautoNameResolution

これを実行した後、私は問題の下に取得しています。

[ERROR]無効な操作「InstantiateWCF」は、Javaメソッドパラメータを生成できません。グローバル要素「{......} InstantiateWCF」内のラッパー・子「パッケージ」のローカル名はjavaキーワードです。カスタマイズを使用してパラメータ名を変更します。 行1のhttp://shipexec.com/demo/wcf/soap?wsdl=wsdl0

この問題は、以下のようにカスタムバインディングXMLファイルを使用して解決しようとしました。

<?xml version="1.0" encoding="UTF-8"?> 
<jaxws:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
       xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" 
       wsdlLocation="http://shipexec.com/demo/wcf/soap?wsdl"> 
    <enableWrapperStyle>false</enableWrapperStyle> 
    <jaxws:bindings node="wsdl:definitions/wsdl:import/wsdl:portType[@name='IwcfShip']/wsdl:operation[@name='InstantiateWCF']"> 
    <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='IwcfShip_InstantiateWCF_InputMessage']/wsdl:part[@name='parameters']" childElementName="package" name="paramPackage" /> 
    </jaxws:bindings> 
</jaxws:bindings> 

しかし、私が得ようとしているノードは認識していません。

「InstantiateWCF」操作のパラメータの名前を変更するための正確なノードパスを見つけるのに助けてください。

おかげで、 Yプラディープ

答えて

0

は、私は以下のようにbinding.xmlファイルを変更することでこの問題を解決してきました。

<?xml version="1.0" encoding="UTF-8"?> 
<jaxws:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" 
    wsdlLocation="http://shipexec.com/demo/wcf/soap?wsdl=wsdl0"> 
    <jaxws:bindings node="wsdl:definitions" > 
     <jaxws:bindings node="//wsdl:portType[@name='IwcfShip']/wsdl:operation[@name='InstantiateWCF']"> 
      <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='IwcfShip_InstantiateWCF_InputMessage']/wsdl:part[@name='parameters']" childElementName="tns:package" name="paramPackage" /> 
     </jaxws:bindings> 
    </jaxws:bindings> 
</jaxws:bindings> 

また、以下のようにwsimportコマンドを変更しました。

wsimportの-keep -p com.aasc.carrier.shipexec.proxy -implServiceName wcfSoxContract -implPortName wcfShip http://shipexec.com/demo/wcf/soap?wsdl -B-XautoNameResolution -b bindings.xmlに

おかげで、 Yプラディープ

関連する問題