Java 如何从独立应用程序调用webservices方法
从独立java应用程序调用cxf webservices方法并希望将pojo类对象参数传递给该方法时,我遇到了一个问题。Apache cxf提供了几种客户端实现。你可以用其中一个。或者,如果它是一个基于JSON的RESTful服务,那么您可以使用许多现有客户机中的任何一个,甚至可以使用GSON和apachehttpcomponents之类的东西来运行自己的客户机。如果是肥皂,那就复杂多了 好的,伙计们。最后我解决了这个问题。我使用以下步骤为cxf webservices创建独立java客户端 步骤1: 创建一个java项目和webservice中存在的同名pojo类(您希望传递给调用webservice方法的对象) 步骤2:创建具有相同名称的服务端点接口() 步骤3:现在我们将使用SpringApplicationContext调用webservice方法,因此创建一个application-beans.xml文件并放入项目目录(项目的任何文件夹)Java 如何从独立应用程序调用webservices方法,java,web-services,Java,Web Services,从独立java应用程序调用cxf webservices方法并希望将pojo类对象参数传递给该方法时,我遇到了一个问题。Apache cxf提供了几种客户端实现。你可以用其中一个。或者,如果它是一个基于JSON的RESTful服务,那么您可以使用许多现有客户机中的任何一个,甚至可以使用GSON和apachehttpcomponents之类的东西来运行自己的客户机。如果是肥皂,那就复杂多了 好的,伙计们。最后我解决了这个问题。我使用以下步骤为cxf webservices创建独立java客户端 步
注意:请使用apache-cxf-2.7.7 libs中的库,这会有所帮助。所以我想您可以使用和HTTP请求调用您的Web服务。您可以尝试通过序列化对象来将其作为数据发送。将其转换为您想要的任何格式(JSON、XML等),然后在您的Web服务中取消序列化。@John我想向专家征求一些有用的建议并不坏,这是我的工作,所以我会更新。不介意您不应该使用此类词。哈?我说了什么?我是否说过:请不要只是要求我们为您解决问题。向我们展示你是如何试图自己解决问题的,然后向我们展示结果是什么,并告诉我们为什么你觉得它不起作用。请参阅“”,以获得一篇您确实需要阅读的优秀文章。是的,Mikkel,这就是问题所在:(不是真的。设置起来需要更多的工作:我想如果您试图从非Java的东西调用它,这个答案并不是特别有用。)(
public class Client{
private String name;
// getter and setter
}
import javax.jws.WebService;
@WebService
public interface CheckWebservice {
public boolean isWebservice(Client client);
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:client id="decisionBean" serviceClass="com.cxf.client.CheckWebservice"
address="http://localhost:8080/CXF-WEBSERVICES/services/CheckDecisionImplPort" />
try{
ApplicationContext context = new ClassPathXmlApplicationContext("demo/xml/application-beans.xml");
CheckWebservice checkDecision = (CheckWebservice ) context.getBean("decisionBean");
// Populate the Order bean
Client decision = new Client();
decision.setDecision("Decision test");
boolean checkDcn = checkDecision.isWebservice(decision);
System.out.println("Decision recived : "+checkDcn);
}catch(Exception e){
e.printStackTrace();
}