我在Eclipse中有wsdl文件,我通過axis2插件生成客戶端。定義自定義名稱空間來封裝從wsdl生成的文件的映射-Axis2 eclipse
正在將文件生成到源文件夾中名爲com.mycompany.stub的包中。
我想改變生成的源文件的包名com.mycompany.ws.workflow
我在哪裏可以做在WSDL文件?
我在Eclipse中有wsdl文件,我通過axis2插件生成客戶端。定義自定義名稱空間來封裝從wsdl生成的文件的映射-Axis2 eclipse
正在將文件生成到源文件夾中名爲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">
...
對於簡單的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。
你能提供一個自定義包映射的例子嗎?我在那裏插入什麼? – Bracha 2011-02-03 12:17:09