我爲java上的tomcat應用服務器編寫了一個簡單的JAX-WS web服務。編寫jax-ws web服務並生成不帶XSD的WSDL
我有一個接口和實現類:
接口
@WebService(name = "myWs")
@SOAPBinding(style = Style.RPC)
public interface IMyWs {
@WebMethod(operationName = "getUser")
Response getUser(@WebParam(name = "phone", mode = Mode.IN) String phone);
}
實施
@WebService(endpointInterface = "ge.mari.IMyWs")
public class MyWs implements IMyWs {
@Override
public Response getUser(String phone) {
// SOME CODE
return response;
}
}
我的問題是,在我的WSDL文件Response類在x中定義sd文件。
這是段從我的WSDL文件
<types>
<xsd:schema>
<xsd:import namespace="http://ws.mari.ge/" schemaLocation="http://localhost:8080/MyServcie/MyWs?xsd=1">
</xsd:import>
</xsd:schema>
</types>
如何使Web服務生成WSDL中的文件,而不是單獨的XSD文件中所有類型的?
我應該更改任何配置還是向我的Web服務添加一些註釋?
它確實是可能的指示JAX-WS內聯的模式。請參閱我上面的回答,瞭解如何實現這一目的的指示。 – Kallja
@Kallja:我認爲OP指的是應用程序服務器生成的WSDL(因爲在WSDL片段中有一個'schemaLocation =「http:// localhost:8080/MyServcie/MyWs?xsd = 1」')。我不知道如何說服應用程序服務器生成一個全功能的WSDL ...... **但是,您的觀點是一個很好的方法,我需要記住您使用的wsgen參數。 - ) – secra