xmlbeans に基づいて wsdl-client-stub を作成しました。xmlbeans スタブに必要なクラス (?) がないため、xmlbeans を使用して認証用のカスタム ヘッダーを追加するのに行き詰まりました。
実際には、ヘッダーは次のようになります。
<SOAP-ENV:Header>
<ns2:verifyingToken>
<UserID>9</UserID>
<Token>29438094lkjslfkjlsdkjf</Token>
</ns2:verifyingToken>
</SOAP-ENV:Header>
だから私はスタブとServiceClientの間に入るフォールバックとして試しました:
ServiceClient sc = stub._getServiceClient();
OMFactory omFactory = OMAbstractFactory.getOMFactory();
OMElement omElement = omFactory.createOMElement(new QName("SOAP-ENV", "Header", "ver"), null);
OMElement omElementVeri = omFactory.createOMElement(new QName("", "verifyingToken", ""), omElement);
OMElement omElementUser = omFactory.createOMElement(new QName("", "UserID", ""), omElementVeri);
omElementUser.setText(""+userid);
OMElement omElementPass = omFactory.createOMElement(new QName("", "Token", ""), omElementVeri);
omElementPass.setText(""+token);
sc.addHeader(omElement);
Eclipse で次のようなエラーが発生します: タイプ OMFactory のメソッド createOMElement(String, OMNamespace) は、引数 (QName, null) には適用できません - コンストラクター QName(String, String, String) は未定義です
これを機能させるために、何を修正する必要があるか、誰かがヒントを持っていますか。私は本当にあなたの助けに感謝します,
アレックス