0

WSDL から @EndPoint アノテーションを使用して、完全なコントラクトと要求/応答オブジェクトを Spring Source Web Service 形式に生成できますか?

4

1 に答える 1

2

これらのオブジェクトは自動的に生成されません。WSDL がコントラクトになります。そこにtargetNamespacelocalPartがあります。例えば

<xsd:schema targetNamespace="this:is.the.target:namespace" xmlns="this:is.the.target:namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <xsd:element name="myLocalPart">
        <xsd:complexType>

localPartは、SOAP 要求ペイロードのルート XML 要素です。次に、エンドポイントを定義します。

@Endpoint
public class MyEndpoint {
    @PayloadRoot(namespace="this:is.the.target:namespace", localPart="myLocalPart")
    @ResponsePayload
    public void handleRequest(@RequestPayload final Element elem) {
        // do something here...
    }

Spring-Ws ディスパッチャを正しく設定していれば、少なくともリクエストを受け入れるにはこれで十分です。リクエストを自動的にアンマーシャリングしたい場合は、マーシャラー/アンマーシャラーを設定し、何らかの形で OXM マッピングを定義する必要があります。

于 2013-03-08T13:34:27.693 に答える