javaのTomcatアプリケーションサーバー用の簡単なJAX-WS Webサービスを作成しました。jax-ws Webサービスを作成し、XSDなしでWSDLを生成
私は1つのインタフェースと実装クラスにあります。
インタフェース
@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ファイルレスポンスクラスで、ということですxで定義されるsdファイル。
これは
<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ファイル内のすべての種類を生成することができます私のWSDLファイルからの抜粋ですか?
設定を変更するか、Webサービスに注釈を追加する必要がありますか?
http://jax-ws-commons.java.net/jaxws-maven-plugin/wsgen-mojo.htmlそれが実際にスキーマをインライン化するJAX-WSを指示することができます。それを達成する方法については、上記の私の答えを参照してください。 – Kallja
@ Kallja:私はOPがアプリケーションサーバによって生成されたWSDLを参照していると仮定しました(なぜなら、 'schemaLocation =" http:// localhost:8080/MyServcie/MyWs?xsd = 1 "がWSDLフラグメントにあります)。私はアプリケーションサーバーにオールインワンWSDLを生成させる方法を知らないのですが... **しかし、あなたのポイントは良いものです。使用した 'wsgen'パラメータを覚えておく必要があります。 - ) – secra