2013-10-26 123 views
2

我是SOAP webservice客戶端的新手,在創建客戶端時出錯。Java中的SOAP Webservice客戶端

請幫我解決這個

//This is request that has to be send using SOAP Envelope 

POST /DISWebService/DISWebService.asmx HTTP/1.1 
Host: 192.168.2.119 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
    <soap12:Body> 
    <LoginSystem xmlns="http://tempuri.org/"> 
     <username>string</username> 
     <password>string</password> 
    </LoginSystem> 
    </soap12:Body> 
</soap12:Envelope> 

Java代碼的

public static void main(String args[]) { 
    try { 
     // Create SOAP Connection 
    SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory  .newInstance(); 
    SOAPConnection soapConnection = soapConnectionFactory 
        .createConnection(); 

      String url = "http://192.168.2.119/VISWebService/VISWebService.asmx"; 
      // String url = 
      // "http://192.168.2.119/DISWebService/DISWebService.asmx?op=LoginSystem"; 

      SOAPMessage soapResponse = soapConnection.call(createSOAPRequest(),url); 

      // Process the SOAP Response 
      printSOAPResponse(soapResponse); 

      soapConnection.close(); 
     } catch (Exception e) { 
      System.err 
        .println("Error occurred while sending SOAP Request to Server"); 
      e.printStackTrace(); 
     } 
} 

private static SOAPMessage createSOAPRequest() throws Exception { 
     MessageFactory messageFactory = MessageFactory.newInstance(); 
     SOAPMessage soapMessage = messageFactory.createMessage(); 
     SOAPPart soapPart = soapMessage.getSOAPPart(); 


     String serverURI = "http://192.168.2.119/DISWebService/DISWebService.asmx"; 

     // SOAP Envelope 
     SOAPEnvelope envelope = soapPart.getEnvelope(); 

     // SOAP Body 
     SOAPBody soapBody = envelope.getBody(); 

     SOAPElement soapBodyElem = soapBody.addChildElement("LoginSystem"); 

     SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("username"); 
     soapBodyElem1.addTextNode("Chirendu"); 

     SOAPElement soapBodyElem2 = soapBodyElem.addChildElement("password"); 
     soapBodyElem2.addTextNode("verve12*"); 

     MimeHeaders headers = soapMessage.getMimeHeaders(); 
     headers.addHeader("SOAPAction", serverURI); 

     soapMessage.saveChanges(); 

     /* Print the request message */ 
     System.out.print("Request SOAP Message = "); 
     soapMessage.writeTo(System.out); 
     System.out.println(); 

     return soapMessage; 
    } 

請幫我創建客戶。

+0

'soapConnection.call使用響應( createSOAPRequest(),url);'這將發出一個SOAP請求到指定的URL。爲了什麼目的你需要客戶? – Newbie

+0

我想消費給定的web服務,並需要響應以顯示在用戶界面 –

+0

如果我的理解正確,您的Web服務客戶端完美的工作,你要求的GUI,正確的? – home

回答

3

我會建議在2調試步驟

1)使用soapUI,並檢查您是否在來不來

2)用工作實例,我從mykong

+0

通過比較SOAP請求將很容易學習 –