我用xfire1.2.6调用web service方法 中client.invoke() 还加入了soap验证 开始有语法错误 我引用了一个jar包 ,然后运行, 错误提示缺少包 ,我就按照提示添加了好多jar包 最后出现了这个错误
Exception in thread "main" javax.xml.stream.FactoryConfigurationError: Provider com.bea.xml.stream.MXParserFactory not found
at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:72)
at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:178)
at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:92)
at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:136)
at org.codehaus.xfire.util.STAXUtils.<clinit>(STAXUtils.java:48)
at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:54)
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.getByteArrayRequestEntity(CommonsHttpMessageSender.java:388)
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.send(CommonsHttpMessageSender.java:326)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:123)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.Client.invoke(Client.java:349)
at com.yaofangwang.WebserviceTest.main(WebserviceTest.java:20) 我用javaEE做的  就在控制台输出结果的那种  好像我的eclipse是别人给的一个压缩包 不需要安装的 直接解压就能用的那种 有jdk 貌似没有安装tomcat 是不是环境有问题 还是我这个eclipse不行 还是我代码写错了
代码就几行: 写了一个类ClientAuthenticationHandler继承AbstractHandler 里面有public void invoke(MessageContext context) throws Exception {...} 然后就是test.java类  
                   Client client = new Client(new URL("www.xxx.com/xxx?wsdl"));
 ClientAuthenticationHandler cs = new ClientAuthenticationHandler("1111");
 client.addOutHandler(cs);
                   Object[] results = client.invoke("GetMedicine", new Object[] {"-1","","guo","" });
                   System.out.println(results[0]);  哪位大侠帮忙看看 是怎么回事

解决方案 »

  1.   

    个人意见:你可以用工具wsimport生成客户端,很简单,也不用添加包。
    http://www.cnblogs.com/simle/archive/2011/11/03/2233417.html
    你可以去参考下,相当之简单
    希望对你有帮助!
      

  2.   

    首先感谢一下楼上的  但是不知道怎么回事 我的jdk1.5.0_11 里面没有wsimport这个 工具  我的开发工具是别人给我的一个压缩包 eclipse 不知道是怎么回事的 不用安装的  解压就可以用的 也没安装tomcat的