当前位置: 首页 > 面试题库 >

如何在Java中添加Soap标头

拓拔坚
2023-03-14
问题内容

我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头。如何在Java中添加soap标头?

Authenticator.setDefault(new ProxyAuthenticator("username", "password"));
                System.getProperties().put("proxySet", "true");
                System.setProperty("http.proxyHost", "IP");
                System.setProperty("http.proxyPort", "port");




                proxy = new RegPresMed_Service(new URL("webservice")).getRegPresMed();
                ((BindingProvider) proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "realwebservice");
                ((BindingProvider) proxy).getRequestContext().put("com.sun.xml.ws.request.timeout", new Integer(60000));
                ((BindingProvider) proxy).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "webserviceUsername");
                ((BindingProvider) proxy).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "webservicePassword");

这有必要吗?

 ((BindingProvider) proxy).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "webserviceUsername");
                    ((BindingProvider) proxy).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "webservicePassword");

我的肥皂标头是这样的:

<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-6"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <wsse:Username>username</wsse:Username>
        <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
        <wsse:Nonce
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">randomnaumber==</wsse:Nonce>
        <wsu:Created>dateCreated</wsu:Created>
    </wsse:UsernameToken>
</wsse:Security>

问题答案:

我做到了,只需按照本教程进行即可。很有帮助

是来自javadb的副本(因为已关闭)
http://informatictips.blogspot.pt/2013/09/using-message-handler-to-alter-
soap.html

要么

http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-
web-service-client



 类似资料:
  • 问题内容: 我正在尝试创建一个独立的客户端来使用某些Web服务。我必须将我的用户名和密码添加到SOAP Header。我尝试添加凭据,如下所示: 当我在服务上调用方法时,出现以下异常: 我究竟做错了什么?如何将这些属性添加到SOAP Header? 编辑:我正在使用JDK6中包含的JAX-WS 2.1。我现在正在使用JAX-WS 2.2。我现在得到以下异常: 如何创建此令牌? 问题答案: 不是10

  • 问题内容: 假设你创建了一个新项目,并希望它使用某个第三方库,例如。你在哪里添加此JAR: 文件>>项目属性>>图书馆>> 编译时库 ; 要么 文件>>项目属性>>图书馆>> 运行时库 ; 要么 工具>>库(库管理器)>>库类路径;要么 工具>> Java平台(Java平台管理器) 所有这些对话框似乎都做相同的事情,但是我敢肯定它们都有正确的用法。在网上找不到好的“最佳实践”文章,并且“ NetB

  • 我想用JAVA构建一个简单的soap客户机来调用soap JAVA web服务。所以我在我的项目中导入了WSDL,并构建了客户端。因此,如果我试图运行我的代码,我会遇到以下错误: AVVERTENZA:找不到所需的类(javax.activation.DataHandler和javax.mail.internet.MimeMultipart)。附件支持已禁用。AxisFault故障代码:{http

  • 我有一个问题,我真的不知道如何在JavaFX中将多行添加到Label中。 例如: 因此,当循环结束时,标签仅显示最终值9。 因此,任何可以显示所有数字1-9并在它们之间加上断线(例如'\n')的解。 当我想显示包含许多菜肴的项目账单时,会出现这个问题。谢谢你的帮助。

  • 我在React应用程序中使用: 我想在最后一列标题中添加一些按钮(而不是列名): 其中列: 那要怎么做?有可能吗?我什么都找不到

  • 我已经尝试了Flurl的常规PutJsonAsync方法,但没有成功。这是我的代码中唯一的非flurl部分。 事先Thanx。