JAVA客户端调用webservice问题

问题描述

哪位大哥大姐帮忙解决下~~弄了2个星期了始终不行。现在环境是在公安局智能交通网上调用车管所数据,由此用到webservice。测试结果如下:用soap-ui工具传递相应参数能返回车辆相应信息。在IE浏览器http://*/FBTT_IBPS/services/FbttService?wsdl没有问题能返回文件。<?xmlversion='1.0'encoding='UTF-8'?><wsdl:definitionsname="FbttService"targetNamespace="http://impl.server.webservice.bussiness.fbtt.com/"xmlns:ns1="http://server.webservice.bussiness.fbtt.com/"xmlns:ns2="http://cxf.apache.org/bindings/xformat"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="http://impl.server.webservice.bussiness.fbtt.com/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:importlocation="http://*/FBTT_IBPS/services/FbttService?wsdl=IFbttService.wsdl"namespace="http://server.webservice.bussiness.fbtt.com/"></wsdl:import><wsdl:bindingname="FbttServiceSoapBinding"type="ns1:IFbttService"><soap:bindingstyle="document"transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operationname="ITMSService"><soap:operationsoapAction=""style="document"/><wsdl:inputname="ITMSService"><soap:bodyuse="literal"/></wsdl:input><wsdl:outputname="ITMSServiceResponse"><soap:bodyuse="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:servicename="FbttService"><wsdl:portbinding="tns:FbttServiceSoapBinding"name="FbttServiceImplPort"><soap:addresslocation="http://*/FBTT_IBPS/services/FbttService"/></wsdl:port></wsdl:service></wsdl:definitions>目前存在问题就是在程序中始终不行。访问方式1:用的xfire方式Clientclient=newClient(newURL("http://*/FBTT_IBPS/services/FbttService?wsdl"));程序执行到client就报错,还没到传参数的地方。java.lang.NullPointerExceptionatcom.ibm.wsdl.xml.WSDLReaderImpl.parseImport(UnknownSource)atcom.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(UnknownSource)atcom.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(UnknownSource)atcom.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(UnknownSource)atcom.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(UnknownSource)atcom.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(UnknownSource)atorg.codehaus.xfire.client.Client.<init>(Client.java:235)atorg.codehaus.xfire.client.Client.<init>(Client.java:246)atcom.client.HelloWebService.main(HelloWebService.java:19)访问方式2:用的axis方式Stringurl="http://*/FBTT_IBPS/services/FbttService?wsdl";Serviceservice=newService参数代码略过Callcall=(Call)service.createCall();call.setTargetEndpointAddress(url);call.setOperationName("ITMSService");Stringresult=(String)call.invoke(newObject[]{参数数组忽略这里不写});然后程序执行到这步后result返回为""没有数据。

解决方案

解决方案二:
空指针异常有什么好纠结的。debug下,看哪里开始空。
解决方案三:
话说xfire已经落伍了,现在都用cxf了,行xfire在2007年就停止更新了。
解决方案四:
空指针就是用debug断点到Clientclient=newClient(newURL("http://*/FBTT_IBPS/services/FbttService?wsdl"));后说client为空。。
解决方案五:
newURL("http://*/FBTT_IBPS/services/FbttService?wsdl")这里的*指什么?去掉?wsdl看下
解决方案六:
~我只是把IP给屏蔽掉了而已。。就是IP地址+端口。
解决方案七:
http://*/FBTT_IBPS/services/FbttService?wsdl直接这样能访问不?
解决方案八:
可以的~用soap-UI工具测试出来也与数据~
解决方案九:
URLurl=newURL(wsdl);HttpURLConnectionhttpConnection=(HttpURLConnection)url.openConnection();httpConnection.connect();Clientclient=newClient(httpConnection.getInputStream(),null);这样看下有没有内容
解决方案十:
还是一样的结果null指针,我在想是不是车管所那边的服务端做了什么限制。但是我用soap-ui工具能测出数据。。所以才奇怪。
解决方案十一:
那可能是权限的问题了。防火墙,杀毒系统都关闭试下……
解决方案十二:
车管所那边的我们没法控制~我们客户端这边的电脑都关了的。。应该和这些没关系的,用工具都能调试出来,那就应该是代码问题了,我在试试用其他方式调调看。先谢谢你了。
解决方案十三:
楼主有没有测出是什么问题呢,我也遇到了同样的问题了
解决方案十四:
楼主有没有测出是什么问题呢,我也遇到了同样的问题了
解决方案十五:
是不是超时了,设置超时试下

时间: 2024-07-29 06:35:29

JAVA客户端调用webservice问题的相关文章

客户端调用WebService,服务端有时候接收不到消息的问题!!

问题描述 web应用,客户端和服务端均是C#,服务端只有一个调用方法,且在服务端接收消息时均有记录日志.现在的情况是,网络正常的情况下,客户端调用服务端时,传输相同的数据内容调用,50次里面可能有一两次调用会报TimeOut的错误,且这一两次TimeOut时服务端均没有接收到消息的日志记录.出现这种情况后,刷新一下页面,再次调用就又能成功了.弄了很久都没搞明白问题出在哪里,哪位大虾碰到过这种情况?? 解决方案 解决方案二:网络问题,你把WEBSERVICE设置成异步看看解决方案三:应该不会是网络

在使用JAVA代理调用webservice的时候报错,请问有谁认识这中错。万分感激

问题描述 我在lotus使用java代理调用一个webservice,但是每次运行到Serviceservice=newService();的时候就报下面的错误2009-03-2422:01:38HTTPJVM:log4j:WARNNoappenderscouldbefoundforlogger(org.apache.axis.i18n.ProjectResourceBundle).2009-03-2422:01:39HTTPJVM:log4j:WARNPleaseinitializethelo

JAVA客户端调用memcached的比较

1.memcached client for java 客户端API:memcached client for java 网址:http://www.whalin.com/memcached 最新版本:java_memcached-release_2.0.1 操作示例: Java代码 import com.danga.MemCached.*; import org.apache.log4j.*; public class TestMemcached { public static void ma

windows ce5.0设备上客户端调用webservice的问题。弄了两天,头痛,求救!

问题描述 各位大神大家好:先介绍下我的问题:我的开发环境是windows764位系统,vs2008.所用语言为c#.我在PC上搭建了一个简单的webservice项目myserver,里面仅有默认的HelloWorld方法.IIS为7.5版本.然后在建立一个基于windowsce5.0的c#项目myclient,当我在这个myclient目录里调用myservice里面的HelloWorld的时候.程序出如下异常:Clientfoundresponsecontenttypeof'text/htm

java 脚本调用webservice 出错

问题描述 java脚本functionRequestByPost(value){vardata;data='<?xmlversion="1.0"encoding="utf-8"?>';data=data+'<soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSche

C#调用java webservices出错.用java客户端调用正确.郁闷了.

问题描述 2008-11-129:31:51org.apache.cxf.phase.PhaseInterceptorChaindoIntercept信息:Interceptorhasthrownexception,unwindingnoworg.apache.cxf.interceptor.Fault:MarshallingError:Acycleisdetectedintheobjectgraph.ThiswillcauseinfinitelydeepXML:com.sims.domain.

如何解决java axis 调用webservice服务器操作异常

问题描述 Exception:AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.io.IOException: No serializer found for class myjava.MTMessage in registry org.apache.axis.encoding.TypeMappingDelegat

xfire生成的java客户端类调用webservice问题

问题描述 我用xfire+myEclipse生成的webservice客户端类,然后写一个java类调用webservice接口方法,把这个java类用dwr的方式给前台jsp调用,调用成功,但是一段时间(大概几分钟)不操作,即不发起请求,再发起请求时会有xfire的一个异常(异常如下),连接断开或者说超时,想问这是什么原因,要如何解决,xfire调用webservice接口时有方法设定连接时长么我的调用方式ServiceClientsc=newServiceClient();ServiceSo

C#客户端调用java Cxf webservice 参数问题

问题描述 请教:C#客户端调用webservice提供的方法,传递参数是一个结构体,客户端将userid和pass传过去,在服务器端能得到,服务端将username,和其他信息set到这个结构体中个,客户端得不到数据,需要怎么样才能得到客户端掉WebService.LoginServiceClientaa=newWebService.LoginServiceClient();WebService.userInfouserinfo=newWebService.userInfo();//当前添加we