webservice采用的是jax-ws,现在要进行身份验证,我用的是设置请求头的方法,本地客户端设置请求头代码如下:
ZscpWebServiceImplService ser = new ZscpWebServiceImplService();
ZscpWebServiceImplDelegate de = ser.getZscpWebServiceImplPort();
Map<String, Object> context = ((BindingProvider)de).getRequestContext();
Map<String, List<String>> headers = new HashMap<String, List<String>>();
context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:8080/traceWS/ZscpWebServiceImplPort?wsdl");
headers.put("name", Collections.singletonList("test"));
headers.put("checkuser", Collections.singletonList("test!test123"));
context.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
System.out.println(de.queryExposure(10, 1,"4"));
本地服务端获取请求头代码如下:
MessageContext mc = context.getMessageContext();
Map requestHeaderNames = (Map)mc.get(SOAPMessageContext.HTTP_REQUEST_HEADERS);
Set set = requestHeaderNames.keySet();
for(Object key:set){
System.out.println(key+" "+requestHeaderNames.get(key));
}
现在我在本地运行的结果是9条信息,全部都有
Host [localhost:8080]
Content-type [text/xml;charset="utf-8"]
Content-length [240]
Connection [keep-alive]
Name [test]
Checkuser [test!test123]
User-agent [JAX-WS RI 2.1.3-hudson-390-]
Accept [text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2]
Soapaction [""]
但是服务端在相同代码的情况下,客户端测试代码中的wsdl地址改成服务器的地址,如果为域名访问的,那么就只打印7条信息,把域名改成局域网IP地址访问,可以正常打印出9条信息,请问这是什么原因导致的?
相关推荐
NULL 博文链接:https://1193605999.iteye.com/blog/2210417
对WebService的调用方,添加头部验证信息
在不能引用其他jar包的情况调用webservice有时可以解决jar引用和冲突的问题
该程序已经调试通过,读者可以借鉴该代码,不一定能满足需求,需要自己动手改造,如需调试请参考帮助文档
调用webservice接口,设置网络代理参数
HTTP接口和WebService接口
java webservice 接口客户端请求 xml、json格式请求代码 soapui模式 拿过去直接应用即可
java代码-使用java解决http请求SOAP webService接口的源代码 ——学习参考资料:仅用于个人学习使用!
② 请求HTTP接口类(以下简称B接口,C接口); ③ 访问oracle数据库类; ④ 写日志类; ⑤ 无入参方法; ⑥ 带入参方法; ⑦ Post方法; ⑧ 数据集转xml方法; ⑨ 数据库连接信息、B接口地址、C接口地址配置文件; ⑩ ...
Android 基于 Retrofit2+Okhttp3 通过SOAP协议请求WebService
1 目标:将WebService和客户端部署在不同的服务器,由客户端请求服务。 2 原理:Nginx将不同域的HTTP服务、网站放入统一的域中,规避跨域问题。 不同的服务器位置于不同的域。JavaScript安全性不允许POST的跨域...
NULL 博文链接:https://hufeng.iteye.com/blog/2425615
SAPECC6中WEBSERVICE设置.pdf
1.(WebService带参数Post请求 )方法实现和方法调用。 2.(WebService接口)WebService应用程序的创建不在介绍,百度介绍更详细。
C#webservice应用例子(含头验证) 其中包含详细的源代码和注释说明
在Eclipse中通过工具来监控webService请求和返回时的数据,Eclipse中手工发送请求包,调试WebService时特别有用。
超简单的webservice调用demo,对hutool工具进行简单的封装,只需要输入webservice接口名、接口参数即可进行webservice接口调用,欢迎大家吐槽
在WinForm程序中调用WebService 在WinForm程序中调用WebService 在WinForm程序中调用WebService
Android 基于 Retrofit2+Okhttp3 通过SOAP协议请求WebService
访问WebService处理拦截开始访问的消息