tcpmon Java Axis2客户端web服务响应被重定向

tcpmon Java Axis2客户端web服务响应被重定向,java,soap,axis2,Java,Soap,Axis2,我在Windows7上使用EclipseIndigo生成Axis2(Axis1.6.1 JDK compliance 1.5)java存根,并在 对上述服务的getSpeech方法得到了完美的响应。然后我使用tcpmon(插件)查看xml的交换。添加了侦听端口=4556、目标主机名=www.xmlme.com和目标端口=80,这将生成HTTP 302移动错误。当使用调用时,重述正确工作 ShakespeareSoapProxy ssp = new ShakespeareSoapProxy("ht

我在Windows7上使用EclipseIndigo生成Axis2(Axis1.6.1 JDK compliance 1.5)java存根,并在 对上述服务的getSpeech方法得到了完美的响应。然后我使用tcpmon(插件)查看xml的交换。添加了侦听端口=4556、目标主机名=www.xmlme.com和目标端口=80,这将生成HTTP 302移动错误。当使用调用时,重述正确工作

ShakespeareSoapProxy ssp = new ShakespeareSoapProxy("http://www.xmlme.com:80/WSShakespeare.asmx?WSDL");
但在使用添加和调用tcpmon侦听器时失败

ShakespeareSoapProxy ssp = new ShakespeareSoapProxy("http://localhost:4556/WSShakespeare.asmx?WSDL"); 
tcpmon soap请求

POST /WSShakespeare.asmx?WSDL HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.4
Host: www.xmlme.com:4556
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: "http://xmlme.com/WebServices/GetSpeech"
Content-Length: 359

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><GetSpeech xmlns="http://xmlme.com/WebServices"><Request>To be, or not to be</Request></GetSpeech></soapenv:Body></soapenv:Envelope>
---------tcpmon response below----------------------------
HTTP/1.0 302 Moved
Location: http://172.16.1.6:15871/cgi-bin/blockpage.cgi?ws-session=1096295497
Pragma: no-cache
Cache-Control: no-cache
POST/WSShakespeare.asmx?WSDL HTTP/1.0
内容类型:text/xml;字符集=utf-8
接受:应用程序/soap+xml、应用程序/dime、多部分/相关、文本/*
用户代理:Axis/1.4
主持人:www.xmlme.com:4556
缓存控制:没有缓存
Pragma:没有缓存
SOAPAction:“http://xmlme.com/WebServices/GetSpeech"
内容长度:359
生存还是毁灭
---------下面是tcpmon响应----------------------------
HTTP/1.0 302已移动
地点:http://172.16.1.6:15871/cgi-bin/blockpage.cgi?ws session=1096295497
Pragma:没有缓存
缓存控制:没有缓存
为什么tcpmon会像上面那样失败是我的主要问题。当SOAP客户机工作得很好时,我为什么要使用它?因为我用它生成了一个jar,它在Windows7上运行得非常好。但当我在iSeries aka AS400服务器上运行相同的jar时,它给了我Axis fault HTTP 401 unauthorized&Authentication required消息。我们的IT人员确实运行websense来阻止内容,但这是windows客户端上的localhost,我以前在这里运行过.NETWeb服务。非常感谢您的想法和回复,谢谢


编辑-windows发送和服务器不发送的NTLM默认凭据的一些研究点?是否有人想对此发表评论?

您被重定向到的IP(172.16.1.6)是您网络的本地IP(请参阅)。请与您的网络管理员确认他们是否阻止您访问www.xmlme.com以及原因


在我看来,如果没有tcpmon,问题也应该重现。您可以使用网络嗅探器(例如)比较有无tcpmon的流量。

Eli-谢谢!我不能投票给你,因为我没有足够的声誉LOL。可悲的是,直接从Win7(端口80)调用它没有问题,效果很好!引入tcpmon和端口4556会导致该问题。同样令人困惑的是,即使是直接调用也可以在Win7中工作,并且在服务器(非windows AS400/iSeries)上未经授权的HTTP 401情况下失败。关于windows发送和服务器不发送的NTLM默认凭据的一些研究点?有人想评论一下这是否是真的吗?很高兴能提供帮助(尽管很明显我错了,正如你所说的tcpmon确实起到了作用:-)。嗅探器可以帮助您看到成功的请求和失败的请求之间的区别。我建议你在问题主体中添加新的信息(关于NTLM等),这将提高你获得答案的机会。谢谢Eli,我将编辑NTLM的帖子,我还将尝试查看此wireshark,tcpmon无法拦截,也许会!