簡體   English   中英

將Axis2 WSDL委托給JAX-WS RI?

[英]Delegate Axis2 WSDL generation to the JAX-WS RI?

我有一個非常簡單的JAX-WS + JAXB SOAP服務,根據我的工作性質,我不得不通過Axis2進行部署。

如果我使用我的JAXB類和我的服務類,並通過JDK中提供的JAX-WS參考實現來部署它們,例如

public static void main(final String... args) {
    Endpoint.publish("http://0.0.0.0:9090/MyService", new MyService());
}

RI(2.2.4,JDK7)生成漂亮的,符合標准的WSDL,幾乎任何工具(soapUI等)都可以使用它。


如果我采用相同的類,並通過Axis2中的services.xml文件部署它們,例如

<service name="MyService" scope="soapsession" targetNamespace="http://com.service.my">
    <Description>My Service Endpoint</Description>
    <messageReceivers>
        <messageReceiver class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver" mep="http://www.w3.org/2004/08/wsdl/in-out"/>
    </messageReceivers>
    <!-- <parameter name="useOriginalwsdl">true</parameter> -->
    <parameter locked="false" name="ServiceClass">com.service.my.MyService</parameter>
</service>

Axis2的WSDL生成將接管並生成完整的垃圾 ,幾乎所有工具都無法使用這些垃圾

我知道我可以在我的services.xml中取消注釋<parameter name="useOriginalwsdl">true</parameter>行並提供靜態WSDL,但是這樣做會迫使我將來手動保持WSDL更新,而我會寧願避免。

有什么方法可以通過Axis2部署我的服務並生成WSDL,但是可以繞開Axis2糟糕的WSDL生成並將其委托給JAX-WS RI?

事實證明,如果不修改或插入Axis2的實現,這是不可能的,這顯然會在以后造成維護問題。 因此,我想我將只使用Axis2生成的糟糕的WSDL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM