예를 들어 설명 webservciescxf 클라이언트와 서버 프레임 워크
기사 전에 내 머리를 따라, 클라이언트를 생성하는 JDK 게시 서비스 및 사용 wsimpor의 사용이다.
그러나 본원을 채용하므로, SOAP1.2 프로토콜은 본원에서 사용되어, 전용으로 wsimport SOAP1.1 프로토콜 활성화
다음과 같이 WSDL2Java가 CXF 프레임 워크, 클라이언트를 생성합니다 :
WSDL2Java가의 -d. http://127.0.0.1/framework?wsdl
또한, 그 강조 WSDL2Java의 도구를 (축가 제공 한 것) 또한, SOAP1.2 계약을 지원, 모두 SOAP1.1 프로토콜을 지원하는 클라이언트 코드를 생성합니다.
도표 :
1) 서버 cxfservices :
패키지 com.neusoft.si;
수입 javax.jws.WebService; 수입 javax.xml.ws.BindingType;
@WebService @BindingType (값 = javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
공용 클래스 cxfservices {
공공 문자열의 sayHello (문자열 이름) {반환 "안녕하세요"+ 이름;
}
}
2) 출판 서비스 엔드 서버
패키지 com.neusoft.si;
수입 org.apache.cxf.interceptor.LoggingInInterceptor;
수입 org.apache.cxf.interceptor.LoggingOutInterceptor;
수입 org.apache.cxf.jaxws.JaxWsServerFactoryBean;
공용 클래스 mycxfserver {
공공 정적 무효 메인 (문자열 []에 args) {
//soap1.1---wsimpot 사용할 수 있습니다
//soap1.1, SOAP1.2 --- WSDL2Java가의 -d. WSDL 경로
JaxWsServerFactoryBean 서버 = 새로운 JaxWsServerFactoryBean ();
// 클라이언트가 호출, 입력 및 출력 인쇄 로그
. server.getInInterceptors () (새 LoggingInInterceptor ())를 추가;
. server.getOutInterceptors () (새 LoggingOutInterceptor ())를 추가;
server.setAddress ( "http://127.0.0.1/framework");
server.setServiceClass (cxfservices.class);
server.setServiceBean (새 cxfservices ());
server.create ();
에서 System.out.println ( "서버 준비");
}
}
3) 클라이언트 :
차세대 WSDL2Java의에서 클라이언트 코드 생성 여기 쇼를하지 않습니다.
패키지 com.slrc;
수입 com.neusoft.si.Cxfservices;
수입 com.neusoft.si.CxfservicesService;
공용 클래스 cxf_client {
공공 정적 무효 메인 (문자열 []에 args) {
CxfservicesService 서비스 = 새로운 CxfservicesService ();
Cxfservices 클라이언트 service.getCxfservicesPort = ();
문자열 결과 = client.sayHello ( "JWE");
에서 System.out.println (결과);
}
}