CXFf 클라이언트는 서버에 의존하고 서버에 의존하지 않는 두 가지 실현 방식
package com.ws.cxf.client;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
public class Client {
public static void main(String[] args) {
//********** *****************
/*
* // WebService
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
// WebService
factory.setServiceClass(IHelloWorld.class);
// WebService
factory.setAddress("http://localhost:8080/cxfTest/webservice/HelloWorld");
IHelloWorld iHelloWorld = (IHelloWorld) factory.create();
System.out.println(iHelloWorld.sayHello("jim"));
*/
//********** *****************
JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();
org.apache.cxf.endpoint.Client client = clientFactory.createClient("http://localhost:8080/cxfTest/webservice/HelloWorld?wsdl");
try {
Object[] result = client.invoke("sayHello", "jim");//invoke( , )
System.out.println(result[0]);
System.exit(0);
} catch (Exception e) {
e.printStackTrace();
}
}
}
참고:
서버에 의존하지 않을 때, 인터페이스의 구현 클래스는 @WebService에 테이블 공간을 추가해야 합니다. 그렇지 않으면 이상이 발생합니다.
org.apache.cxf.common.i18n.UncheckedException: No operation was found with the name {http://daoImpl.cxf.ws.com/}sayHello. at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:331) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:325) at com.ws.cxf.client.Client.main(Client.java:25)
인터페이스 구현은 다음과 같다.
package com.ws.cxf.daoImpl;
import javax.jws.WebService;
import com.ws.cxf.dao.IHelloWorld;
@WebService(endpointInterface="com.ws.cxf.dao.IHelloWorld",
serviceName="helloWorld",
targetNamespace="http://dao.cxf.ws.com/")
public class HelloWorldImpl implements IHelloWorld{
public String sayHello(String username) {
System.out.println("sayHello() is called");
return username +" helloWorld";
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.