Embedded Jetty 응용 프로그램에 JAX-WS 웹 서비스를 추가하려고합니다. 웹 서비스 클라이언트는 .NET 응용 프로그램입니다.Spring 및 Embedded Jetty 8을 사용하여 JAX-WS 서비스 게시
내 프로젝트가 Netbeans 7.1.1에서 Maven 애플리케이션으로 생성되었습니다. 그것은 Spring 3.0을 사용한다. pom.xml 파일에
추가 된 잭스 - WS-봄 :
나는 내 응용 프로그램에 JAX-WS를 추가하려면 다음 단계를했다.<dependency> <groupId>org.jvnet.jax-ws-commons.spring</groupId> <artifactId>jaxws-spring</artifactId> <version>1.8</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> </exclusions> </dependency>
내 스프링 웹 서비스 컨텍스트에서 WSSpringServlet을 구성하십시오.
webservicesContext.addServlet(new ServletHolder(new WSSpringServlet()), "/service/*");
내 서비스의 구현 클래스가 생성되었습니다.
내 서비스를 Spring applicationContext.xml 파일에서 구성하십시오.
<bean id="generateUEIDService" class="com.mycompany.GenerateUEIDService"/> <wss:binding url="/service/GenerateUEID.svc"> <wss:service> <ws:service bean="#generateUEIDService" /> </wss:service> </wss:binding>
나는 위의 3 단계에 대한 넷빈즈의 모든 웹 서비스 생성 마법사를 사용하지 않았다. 대신 일반 Java 클래스로 GenerateUEIDService를 만들었지 만 주석을 추가했습니다. 비록 Netbeans가 어떻게 든 그것을 감지하지는 않았지만, 웹 서비스는 "GenerateUEIDServiceService"라는 프로젝트 뷰에 "Web Services"노드를 생성했기 때문에 웹 서비스였습니다. GenerateUEIDServiceService를 확장하면 "generateUniqueIds : String"이 표시됩니다.
괜찮을 것 같습니다. 나는 응용 프로그램을 실행할 때 내가 얻을 :
com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.mycompany.jaxws.GenerateUniqueIds is not found. Have you run APT to generate them?
음 아니, 난 아무것도를 생성하기 위해 APT 실행하지 않았습니다. 내 구성을 감안할 때 어떻게해야합니까? pom.xml에 플러그인을 추가해야합니까? 아니면 Netbeans가 마술처럼 나를 위해 래퍼를 생성 했습니까?
제 웹 서비스 클라이언트는 .NET입니다. 그래서 document/literal wrapped의 기본 SOAPBinding을 사용해야한다고 가정합니다.
답변 해 주셔서 감사합니다. 나는 XSD를 만들지 않았다. 내 WSDL과 XSD가 나를 위해 동적으로 생성되기를 바랍니다. jaxws 런타임이 지금 저를 위해 그것을하고있는 것 같습니다. – Jerome
알겠습니다. 너의 질문을 이해하지 못 했어. – jddsantaella