2009-03-04 16 views
1

SoapヘッダーにWS Addressingを追加する必要があります(私はgsoapフレームワークを使用しています)。 これを自動的に追加する方法はありますか?私はgsoapのドキュメントを調べましたが、それに関する情報は見つかりませんでした。gsoap - SOAPヘッダー内のWS-Addressing要素

struct SOAP_ENV__Header 
{ 
    mustUnderstand _wsa__MessageID wsa__MessageID 0; 
    mustUnderstand _wsa__RelatesTo *wsa__RelatesTo 0; 
    mustUnderstand _wsa__From *wsa__From 0; 
    mustUnderstand _wsa__ReplyTo *wsa__ReplyTo 0; 
    mustUnderstand _wsa__FaultTo *wsa__FaultTo 0; 
    mustUnderstand _wsa__To wsa__To 0; 
    mustUnderstand _wsa__Action wsa__Action 0; 
}; 

以下のように だから今私は、WS-Addressingの私のSOAP_ENV_Headerにし、手動で追加している。しかし、私は、私から自動生成されているSOAPヘッダにいくつかの他の構造体を追加する必要がありますので、私はそれを自動的に生成したいと思いますwsdl/xsdファイル。

おかげ

答えて

1

あなたはとてもようなあなたのtypemap.datでSOAP_ENV_Headerを定義することができます。

wsa = <http://schemas.xmlsoap.org/ws/2004/08/addressing> 

SOAP_ENV__Header =\ 
#import "wsa.h"\n\ 
struct SOAP_ENV__Header\n\ 
{\n\ 
    mustUnderstand _wsa__MessageID wsa__MessageID 0;\n\ 
    mustUnderstand _wsa__RelatesTo * wsa__RelatesTo 0;\n\ 
    mustUnderstand _wsa__From *  wsa__From  0;\n\ 
    mustUnderstand _wsa__ReplyTo * wsa__ReplyTo 0;\n\ 
    mustUnderstand _wsa__FaultTo * wsa__FaultTo 0;\n\ 
    mustUnderstand _wsa__To   wsa__To  0;\n\ 
    mustUnderstand _wsa__Action  wsa__Action 0;\n\ 
}; 

はその後、外部typemap.datを指定するためのオプション "-t" とwsdl2hを使用しています。

0

gSoapのwsアドレッシングplugingを使用してください。

関連する問題