2016-09-06 20 views
0

私は最近Javaをオフにしてしまったので、私のコードには多分愚かなエラーがあります。私の目的は、サーバーにSOAPリクエストを送信するサーブレットを作成することです。私はthis exampleを使ってSOAPクライアントを作成しました。サーブレットクラスに追加しました。それはobvioslyは動作しません。このサーブレットを改善し、サーブレットのロジックを理解するためのヒントを教えてください。Javaサーブレット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

「機能しない」とはどういう意味ですか?未解決のコンパイルの問題: - –

+0

私はエラー500を取得するサーブレットの実行は例外 でjava.lang.Errorを投げた エンベロープは エンベロープが メッセージがURLEndpointがURLEndpointが解決できないタイプ に解決することはできません を解決することはできません解決することはできません解決することはできません メッセージは可変 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

私がthを取得しなかった場合、私はjavax.xml.soapをインポートしました。 e 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

関連する問題