2016-09-06 3 views
0

최근 Java 코드를 삭제했기 때문에 코드에 많은 어리석은 오류가있을 수 있습니다. 내 목표는 SOAP 요청을 서버에 보내는 서블릿을 만드는 것이다. 나는 SOAP 클라이언트 생성을 위해 this example을 사용했다. 나는 그것을 서블릿 클래스에 추가했다. 그것은 obviosly 작동하지 않습니다. 이 서블릿을 개선하고 서블릿의 로직을 이해할 수있는 팁을 주시겠습니까?자바 서블릿 SOAP 요청

public class SOAPRequest extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    public SOAPRequest() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     SOAPConnectionFactory myFct = SOAPConnectionFactory.newInstance(); 
     SOAPConnection myCon = myFct.createConnection(); 
     MessageFactory msgFct = MessageFactory.newInstance(); 
     SOAPMessage msg = msgFct.createMessage(); 
     SOAPPart mySPart = msg.getSOAPPart(); 
     SOAPEnvelope myEnvp = mySPart.getEnvelope(); 
     SOAPBody body = myEnvp.getBody(); 

     Name bodyName = envelope.createName("GetLastTradePrice", "m", "http://eztrade.com"); 
     SOAPBodyElement gltp = body.addBodyElement(bodyName); 
     Name myContent = envelope.createName("symbol"); 
     SOAPElement mySymbol = gltp.addChildElement(myContent); 
     mySymbol.addTextNode("SUNW"); 

     message.saveChanges(); 

     URLEndpoint endPt = new URLEndpoint("http://eztrade.com//quotes"); 

     SOAPMessage reply = myCon.call(message, endPt); 
     myCon.close(); 
    } 
+0

"작동하지 않음"이란 무엇을 의미합니까? 해결되지 않은 컴파일 문제 : 봉투 봉투 URLEndpoint가 URLEndpoint가 해결 될 수없는 종류의 에 해결 될 수없는 해결할 수없는 메시지를 확인할 수없는 해결할 수없는 서블릿 실행이 예외를 상위를 던졌다 - –

+0

난 오류 500 얻을 유형에 메시지 변수 SOAPRequest.doGet (SOAPRequest.java:44) javax.servlet.http.HttpServlet.service (HttpServlet.java:622) javax.servlet.http.HttpServlet.service (에 해결 될 수없는 HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:53) – Wallcraft

답변

0

당신이 클래스 경로에서 필요한 jar 파일을 수행

여기는 관련 조각인가? 이 코드는 당신이 SAAJ를 사용하고 있다고 제안합니다. 최신 jar 파일을 가져 오면 제대로 작동합니다.

<!-- https://mvnrepository.com/artifact/org.apache.axis/axis-saaj --> 
<dependency> 
    <groupId>org.apache.axis</groupId> 
    <artifactId>axis-saaj</artifactId> 
    <version>1.4</version> 
</dependency> 
+0

내가 가져올 수없는 경우 javax.xml.soap을 가져 왔습니다. SAAJ 내가 가져올 수 없다, 맞지? – Wallcraft

+0

가능합니다. 또한이 링크를 확인하십시오 .https : //theholyjava.wordpress.com/2010/11/19/soapsaajxml-issues-when-migrating-to-java-6-with-axis-1-2/ –

+0

그래서이 saaj를 다운로드해야합니다. .jar 및 내 프로젝트로 가져 오기? – Wallcraft