[英]How to import a WCF web service using a Java client
我有一个使用wsHttpBinding的WCF Web服务,该服务从Java客户端使用。 我使用wsimport从WSDL生成了代码。 Java客户端似乎可以很好地创建服务,但是当我在服务上调用方法时,客户端只会旋转。
MyService s = new MyService();
IMyService i = s.getWSHttpBindingIMyService();
returnedValue = i.getSomething(2); // method call
Java客户端可以与使用wsHttpBinding的WCF Web服务进行通信吗? 最好的方法是什么?
任何帮助将不胜感激。
您肯定要使用WSIT来帮助编写您的客户端,并且使用整个Metro堆栈可能最简单。 Metro在其jars(webservices-rt.jar和webservices-api.jar)中包含jaxws-ri,WSIT和JAB。
几个步骤可帮助您入门:
WCF服务的已发布WSDL是否包含WS-Policy部分? 如果不是,请获取该信息并将其放入服务WSDL文件的本地本地副本中。 在包含WS-Policy部分的WSDL上重新运行wsimport。
在您的客户的类路径中包括地铁罐。
编写一个名为wsit-client.xml的文件,并将其放入WEB-INF / classes(或您的类路径中)。 这是一个样本 。 现在,当您使用客户端时,您应该在控制台中看到一条INFO消息,该消息为:WSP5018:从文件中加载了WSIT配置:
如果您陷于WS-Policy或wsit-client.xml,请使用Netbeans。 我使用Eclipse进行开发,尽管我不太喜欢Netbeans,但我已经多次使用它作为参考,因为它在IDE中具有配置设置,使您能够保护Web服务和编写Web服务。需要安全性的客户端,它将为您生成其中包含WS-Policy信息的wsit-client.xml和WSDL。 尝试在Netbeans中编写Web应用程序,并指向该服务的WSDL以在其中生成Web Service客户端,并查看生成的文件的外观。
您可以在SO上得到一些答案,但是java.net Metro 论坛也非常活跃,并且在那里也可以获得很好的支持。 只要准备好回答“在Netbeans / Glassfish中进行XYZ”即可。
这可能会有所帮助: WCF服务和Java客户端
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.