java如何打印webservice 發送的soap報文協議


都知道webservice 底層也是用http通信的 ,但是怎么把底部通信的報文打印出來也是我們調試接口時最方便最快捷的方式.

這些只適用於用工具生成的代理類.親測java jdk生成的代理類好使.也稱JAX-WS.


下面代碼


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class Server {
ServerSocket ss;
Socket serverSocket;
InputStream inStream;
OutputStream outStream;


public Server() {
try {
System.out.println("====================Server==================");
ss = new ServerSocket(80);
serverSocket = ss.accept();
System.out
.println("--------------some guest connected----------------");
inStream = serverSocket.getInputStream();
outStream = serverSocket.getOutputStream();


} catch (Exception e) {
e.printStackTrace();
}
}


public void conn() {
new Thread() {
public void run() {
try {
InputStreamReader iReader = new InputStreamReader(inStream);
BufferedReader iBufferStream = new BufferedReader(iReader);
String line = null;
while ((line = iBufferStream.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}


public static void main(String args[]) {
Server server = new Server();
server.conn();
}
}


上面代碼是監聽端口,比如你的webservice是發送到9001端口的,就要把80改成9001了.




其次是要改webservice wsdl 地址,先把wsdl下載下來.放到內部項目中.然后改代理類中的服務類地址.記得 有的webservice接口提供方說明 必須用域名,那時候 你就要改你的host配置了 ,配置個映射,如下圖.
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM