?? soapreceiver.java
字號:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.*;
import java.io.FileInputStream;
import javax.xml.transform.stream.StreamSource;
import javax.xml.messaging.URLEndpoint;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamResult;
public class SoapReceiver extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MimeHeaders mimeHeaders = new MimeHeaders();
Enumeration en = request.getHeaderNames();
while ( en.hasMoreElements() ) {
String headerName = ( String ) en.nextElement();
String headerVal = request.getHeader( headerName );
System.out.println( headerName + ":" + headerVal );
StringTokenizer tk = new StringTokenizer( headerVal, "," );
while ( tk.hasMoreTokens() ) {
mimeHeaders.addHeader( headerName, tk.nextToken().trim() );
}
}
try {
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message =
messageFactory.createMessage( mimeHeaders, request.getInputStream() );
message.writeTo( System.out );
SOAPMessage reply = messageFactory.createMessage();
SOAPPart soapPart = reply.getSOAPPart();
SOAPEnvelope envelope = soapPart.getEnvelope();
SOAPHeader header = envelope.getHeader();
header.detachNode();
SOAPBody replyBody = envelope.getBody();
SOAPFactory soapFactory = SOAPFactory.newInstance();
SOAPBodyElement bodyElement = replyBody.addBodyElement(
soapFactory.createName( "ack" ) );
bodyElement.addTextNode( "OK" );
response.setContentType( CONTENT_TYPE );
response.setHeader( "Content-Type", "text/xml" );
OutputStream os = response.getOutputStream();
reply.writeTo( os );
os.flush();
} catch ( IOException ex ) {
ex.printStackTrace();
} catch ( SOAPException ex ) {
ex.printStackTrace();
}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//Process the HTTP Put request
public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
//Process the HTTP Delete request
public void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
//Clean up resources
public void destroy() {
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -