Bra*_*cha 4 java eclipse axis2 webservice-client
我在Eclipse中有wsdl文件,我通过axis2插件生成客户端.
这些文件正生成到源文件夹中名为com.mycompany.stub的包中.
我想将生成的源文件的包名称更改为com.mycompany.ws.workflow
我在哪里可以在wsdl文件中执行此操作?
您实际上不必修改wsdl来实现此目的.如果您正在使用Eclipse Helios Web服务客户端向导,则在为生成的源指定输出文件夹的第二步(可选)中,有一个"定义命名空间到包的自定义映射"的复选框.选择该框,然后在下一个表单上定义自定义包映射.
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://mycompany.com/MyService.wsdl"
xmlns:scm="http://mycompany.com/MyService.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="http://mycompany.com/MyService.wsdl">
...
Run Code Online (Sandbox Code Playgroud)
对于如上所示的简单wsdl,自定义映射将如下所示.
http://mycompany.com/MyService.wsdl - com.mycompany.ws.workflow
http://mycompany.com/MyService.xsd - com.mycompany.ws.workflow.schema
您可以单击"添加"并输入名称空间和包名称,也可以在属性文件中存储映射,然后单击"导入"以一次性添加全部.我更喜欢属性文件.如果要使用属性文件,还必须转义名称空间URL和其他特殊字符.您的属性文件应类似于下面的内容.
http\://mycompany.com/MyService.wsdl=com.mycompany.ws.workflow
http\://mycompany.com/MyService.xsd=com.mycompany.ws.workflow.schema
摘自官方文件.
属性文件的内容必须是namespace = package格式.您需要转义属性文件中的一些特殊字符.例如,http:// someNamespace = somePackage应为http:// someNamespace = somePackage.否则,冒号(:)将被视为分隔符,导致尝试将http映射到// someNamespace = somePackage.