Java 使用wsimport创建用于生成wsdl客户端代理的自定义绑定
我需要在EclipseIDE中生成客户端代理java文件 我试图通过wsimport命令生成这个。下面是我使用的命令 wsimport-keep-b bindings.xml-p com.aasc.carrier.shipexec.proxy-implServiceName-wcfSoxContract-implPortName-wcfShip-b-XautoNameResolution 执行此操作后,我得到以下问题 [ERROR]无效操作“实例化EWCF”,无法生成java方法参数。全局元素“{……}instanceEWCF”中包装子“package”的本地名称是一个java关键字。使用自定义更改参数名称。 第1行的 我尝试使用自定义绑定xml文件解决此问题,如下所示Java 使用wsimport创建用于生成wsdl客户端代理的自定义绑定,java,eclipse,wcf,soap,wsdl,Java,Eclipse,Wcf,Soap,Wsdl,我需要在EclipseIDE中生成客户端代理java文件 我试图通过wsimport命令生成这个。下面是我使用的命令 wsimport-keep-b bindings.xml-p com.aasc.carrier.shipexec.proxy-implServiceName-wcfSoxContract-implPortName-wcfShip-b-XautoNameResolution 执行此操作后,我得到以下问题 [ERROR]无效操作“实例化EWCF”,无法生成java方法参数。全局元素“
<?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>
假的
但我试图获取的节点无法识别
请任何人帮助查找更改“InstanceEWCF”操作参数名称的确切节点路径
谢谢,
Y Pradeep我已通过将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命令,如下所示
<?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-keep-p com.aasc.carrier.shipexec.proxy-implServiceName-wcfSoxContract-implPortName-wcfShip-B-XautoNameResolution-B bindings.xml
谢谢,
Y Pradeep我已通过将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命令,如下所示
<?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-keep-p com.aasc.carrier.shipexec.proxy-implServiceName-wcfSoxContract-implPortName-wcfShip-B-XautoNameResolution-B bindings.xml
谢谢,
普拉迪普