为metro webservice调用设置wsit-client的问题

时间:2011-09-12 15:09:56

标签: java-metro-framework wsit

这可能是一个非常基本的问题,但我觉得我很喜欢它。我使用客户提供的wdsl(wsimport)创建了一个客户端Web服务java对象。问题是,他们说我需要包含一个安全标头,以便它将连接。标头不在WSDL中。我对此做了一些研究,似乎我需要在执行wsimport时将wsit-client.xml导入其中。我似乎无法找到这个文件的明确例子。我试图从我发现的例子中拼凑一个但是当我运行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没有格式错误,但我知道我错过了一些东西,或者完全了解了这个错误。我真的需要很好地了解如何创建这个,但我似乎无法在网上找到一个。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

wsimport不使用wsit-client.xml。您输入/ META-INF /并在连接到服务时Metro读取它。