0
我使用Web服務客戶端在Java調用SOAP Web服務,我已經添加如下代碼如下,但我得到在<span class="skimlinks-unlinked">
未解決的編譯問題
地方錯誤,請幫助我這個..
我們必須使用任何jar文件,這個
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPMessage;
public class SOAPClient {
private static final String endpoint = "http://localhost/SOAPService/MySoapService";
public static void main(String[] args) throws SOAPException {
SOAPMessage message = MessageFactory.newInstance().createMessage();
SOAPHeader header = message.getSOAPHeader();
header.detachNode();
SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
envelope.setAttribute("namespace","namespaceUrl");
SOAPBody body = message.getSOAPBody();
QName bodyName = new QName("getResponse");
SOAPBodyElement bodyElement = body.addBodyElement(bodyName);
SOAPElement symbol = bodyElement.addChildElement("name");
symbol.addTextNode("Harry Joy");
SOAPConnection connection = SOAPConnectionFactory.newInstance().createConnection();
SOAPMessage response = <span class="skimlinks-unlinked">connection.call(message</span>, endpoint);
<span class="skimlinks-unlinked">connection.close</span>();
SOAPBody responseBody = response.getSOAPBody();
SOAPBodyElement responseElement = (SOAPBodyElement)responseBody.getChildElements().next();
SOAPElement returnElement = (SOAPElement)responseElement.getChildElements().next();
if(responseBody.getFault()!=null){
<span class="skimlinks-unlinked">System.out.println(returnElement.getValue</span>()+" "+responseBody.getFault().getFaultString());
} else {
<span class="skimlinks-unlinked">System.out.println(returnElement.getValue</span>());
}
try {
<span class="skimlinks-unlinked">System.out.println(getXmlFromSOAPMessage(message</span>));
<span class="skimlinks-unlinked">System.out.println(getXmlFromSOAPMessage(response</span>));
} catch (IOException e) {
e.printStackTrace();
}
}
private static String getXmlFromSOAPMessage(SOAPMessage msg)
throws SOAPException, IOException {
ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
msg.writeTo(byteArrayOS);
return new String(byteArrayOS.toByteArray());
}
}
刪除XML標記。 – Shriram
''不是Java代碼。你爲什麼把它放在那裏? – immibis
這個問題似乎是無關緊要的,因爲它沒有顯示對所解決問題的最小理解。 –