2011-09-12 17 views
0

這可能是一個非常基本的問題,但我覺得我很喜歡它。我使用客戶提供的wdsl(wsimport)創建了客戶端Web服務Java對象。問題是他們說我需要包含一個安全頭,因此它會連接。該頭文件不在WSDL中。我對此做了一些研究,看起來我需要在執行wsimport時將wsit-client.xml導入它。我似乎無法找到這個文件的一個明確的例子。我試圖從我找到的例子中拼湊出一個,但是當我運行wsimport時,它似乎永遠不會拿起它。這裏是我有:爲地鐵web服務調用設置wsit客戶端的問題

<?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是不是畸形的,但我知道我失去了一些東西或者完全有這個毛病的整體思路。我真的需要很好地瞭解如何創建這個,但我似乎無法在網上找到一個。任何幫助將非常感激。

回答

0

wsimport不使用wsit-client.xml。您插入/ META-INF /,當您連接到服務時,Metro會讀取它。