saaj发送soap消息出错

wangyong174013 2013-05-29 04:09:18
原代码:
package com.channelsoft.saaj.soap;
import java.io.IOException;
import java.net.URL;

import javax.xml.messaging.URLEndpoint;
import javax.xml.soap.*;

public class SOAPSender {

/**
* @param args
* @throws SOAPException
* @throws IOException
*/
public static void main(String[] args) throws IOException, SOAPException {
SOAPSender sender = new SOAPSender();
SOAPMessage message = sender.getMessage();
sender.send(message);

}

public void send(SOAPMessage message) throws IOException, SOAPException {
// Create SOAP connection
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection sc = scf.createConnection();


// Specify the endpoint
URL url = new URL("http://127.0.0.1:8080/saaj/Receiver");

// Send the SOAP message
SOAPMessage response = sc.call(message, url);

if (response != null) {
// Print the message to console
System.out.println("Receive SOAP message from localhost:");
response.writeTo(System.out);
} else {
System.err.println("No response received from partner!");
}

sc.close();

}

public SOAPMessage getMessage() throws SOAPException {

// Create a message factory
MessageFactory mf = MessageFactory.newInstance();
// Create a SOAP message
SOAPMessage message = mf.createMessage();

SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
// Add a namespace declaration to envelope element
envelope.addNamespaceDeclaration("cwmp", "some uri");

// Create header element
SOAPHeader header = envelope.getHeader();

// Create body element
SOAPBody body = envelope.getBody();
SOAPBodyElement bodyElement = body.addBodyElement(envelope.createName(
"Test", "cwmp", "uri"));
// add content to Test element
bodyElement.addTextNode("Just a test! ");

try {
// Print the message we have created above to console
message.writeTo(System.out);
} catch (IOException e) {

e.printStackTrace();
}
return message;
}

}







报错信息:
<?xml version="1.0" encoding="utf-8" standalone="yes"?><env:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cwmp="some uri" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header/><env:Body><cwmp:Test xmlns:cwmp="uri">Just a test! </cwmp:Test></env:Body></env:Envelope>Exception in thread "main" javax.xml.soap.SOAPException: Failed to send message: java.io.IOException: The server at http://127.0.0.1:8080/saaj/Receiver returned a 500 error code (Internal Server Error). Please ensure that your URL is correct, and the web service has deployed.
at weblogic.webservice.core.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:61)
at com.channelsoft.saaj.soap.SOAPSender.send(SOAPSender.java:36)
at com.channelsoft.saaj.soap.SOAPSender.main(SOAPSender.java:18)
Caused by: java.io.IOException: The server at http://127.0.0.1:8080/saaj/Receiver returned a 500 error code (Internal Server Error). Please ensure that your URL is correct, and the web service has deployed.
at weblogic.webservice.binding.http11.Http11ClientBinding.handleErrorResponse(Http11ClientBinding.java:123)
at weblogic.webservice.binding.http11.Http11ClientBinding.receive(Http11ClientBinding.java:220)
at weblogic.webservice.core.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:57)
... 2 more

...全文
179 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyong174013 2013-05-29
  • 打赏
  • 举报
回复
weblogic的jar包哪里有啊?
wangyong174013 2013-05-29
  • 打赏
  • 举报
回复
都没人会嘛 一直报错: java.lang.ClassNotFoundException: javax.xml.messaging.ReqRespListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2527) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1010) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1483) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) at java.lang.Thread.run(Thread.java:619) 我都引入了jar包,还报这些锤子错误
wangyong174013 2013-05-29
  • 打赏
  • 举报
回复
接收消息源代码: package com.channelsoft.saaj.soap; import java.io.File; import java.io.FileOutputStream; import java.util.Enumeration; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.xml.messaging.JAXMServlet; import javax.xml.messaging.ReqRespListener; import javax.xml.soap.MessageFactory; import javax.xml.soap.SOAPEnvelope; import javax.xml.soap.SOAPMessage; public class ReceiveServlet extends JAXMServlet implements ReqRespListener { private static final long serialVersionUID = 1L; static MessageFactory mf = null; static { try { mf = MessageFactory.newInstance(); } catch (Exception e) { e.printStackTrace(); } }; public ReceiveServlet() { super(); } @Override public SOAPMessage onMessage(SOAPMessage msg) { // TODO Auto-generated method stub SOAPMessage resp = null; try { System.out.println("Received message:"); msg.writeTo(new FileOutputStream(new File("../webapps/soapmessage.xml")));// I use tomcat so set this resp = mf.createMessage(); SOAPEnvelope se = resp.getSOAPPart().getEnvelope(); se.getBody().addChildElement(se.createName("ResponseMessage")).addTextNode("Received Message,Thanks"); return resp; } catch (Exception e) { e.printStackTrace(); } return resp; } public void init(ServletConfig config) throws ServletException { System.out.println("init message:"); super.init(config); Enumeration enu=config.getInitParameterNames(); while(enu.hasMoreElements()){ String paraName=(String)enu.nextElement(); System.out.println(paraName+": "+paraName); } } }

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧