为 Metro Web 服务调用设置 wsit-client 时出现问题

发布于 2024-12-04 07:34:12 字数 1866 浏览 1 评论 0原文

这可能是一个非常基本的问题,但我觉得我已经超出了我的能力范围。我使用客户提供的 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 没有格式错误,但我知道我遗漏了一些东西,或者完全了解这个错误的整个想法。我真的需要详细了解如何创建它,但我似乎无法在网上找到一个。任何帮助将不胜感激。

This might be a pretty basic issue but I feel like I'm way over my head with it. I created a client side web service java object using the customer provided wdsl (wsimport). the problem is that they are saying I need to include a security header so it will connect. the header is not in the WSDL. I did some research into this and it seems that I need to import a wsit-client.xml into it when I do the wsimport. I can't seem to find a clear example of this file. I have tried to piece one together from the example I have found but when I run wsimport it never seems to pick it up. here is what I have:

<?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>

the XML isn't malformed but I know I'm missing something or completely have the whole idea of this wrong. I really need a good walk through of how to create this but I can't seem to find one on the net. any help would be very appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洋洋洒洒 2024-12-11 07:34:12

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

wsit-client.xml is not used by wsimport. You put in in /META-INF/ and Metro reads it when you connect to the service.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文