1

これはかなり基本的な問題かもしれませんが、私はそれについて頭を悩ませているように感じます. 顧客提供の wdsl (wsimport) を使用して、クライアント側の Web サービス Java オブジェクトを作成しました。問題は、接続できるようにセキュリティ ヘッダーを含める必要があると彼らが言っていることです。ヘッダーが WSDL にありません。これについて調査したところ、wsimport を実行するときに wsit-client.xml をインポートする必要があるようです。このファイルの明確な例が見つからないようです。私が見つけた例から 1 つをつなぎ合わせようとしましたが、wsimport を実行すると、それを取得できないようです。ここに私が持っているものがあります:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions targetNamespace="http://www.jboss.org/jbossws/ws-extensions/wssecurity" name="SecurityService"
      xmlns:tns="http://www.jboss.org/jbossws/ws-extensions/wssecurity"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
      xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
      xmlns:wspp="http://java.sun.com/xml/ns/wsit/policy"
      xmlns:sc="http://schemas.sun.com/2006/03/wss/server"
      xmlns="http://schemas.xmlsoap.org/wsdl/">
<portType name="LOOKUP_PortType"/>
  <binding name="LOOKUP_Binding" type="tns:LOOKUP_PortType">
   <wsp:PolicyReference URI="#lookupSecurityPolicy"/>
  </binding>
<service name="XXSW_GPOS_CUSTOMER_CREDIT_PKG_Service">
  <port name="XXSW_GPOS_CUSTOMER_CREDIT_PKG_Port" binding="tns:LOOKUP_Binding"/>
</service>
<wsp:Policy wsu:Id="lookupSecurityPolicy">
  <wsp:ExactlyOne>
     <wsp:All>
        <sc:CallbackHandlerConfiguration wspp:visibility="private">
           <sc:CallbackHandler name="usernameHandler" default="username" />
           <sc:CallbackHandler name="passwordHandler" default="password" />
        </sc:CallbackHandlerConfiguration>
     </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
</definitions>

XML は不正な形式ではありませんが、何かが欠けているか、これが間違っているという完全な考えを持っていることはわかっています。これを作成する方法を詳しく説明する必要がありますが、ネット上で見つけることができないようです。どんな助けでも大歓迎です。

4

1 に答える 1

0

wsit-client.xmlはwsimportでは使用されません。/ META-INF /に入力すると、サービスに接続するときにMetroがそれを読み取ります。

于 2012-02-21T15:37:36.817 に答える