|
我這里是利用axis創(chuàng)建類包的,首先下載axis的壓縮包,然后解壓,把axis放到webapp下面。如果可以運行,就OK了。
c#創(chuàng)建的webservice自帶的wsdl的,直接可以加上?wsdl訪問,然后利用axis生成類:
Java -classpath ".;commons-logging.jar;axis.jar;commons-discovery.jar;jaxrpc.jar;wsdl4j.jar;saaj.jar;jaxrpc.jar;mail.jar" org.apache.axis.wsdl.WSDL2Java -o "E:/cjjer" http://s:9999/IUsers.asmx?wsdl
在目錄E:/cjjer下面有產(chǎn)生了一系列的Java文件。
然后編譯這些Java文件,注意,由于這樣產(chǎn)生的并沒有soapheader的請求,需要自己修改Java文件:
打開*SoapStub.Java這個文件,定位到 protected org.apache.axis.client.Call createCall() throws Java.rmi.RemoteException
這個方法,然后再return之前寫上
SOAPHeaderElement head = new SOAPHeaderElement(new PrefixedQName(new Javax.xml.namespace.QName("http://www.cjjer.com/webs/", "ReqHeader")));
head.setActor(null);
try{
head.addChildElement("userName").addTextNode("cjjer");
head.addChildElement("password").addTextNode("000000");
head.setMustUnderstand(true);
}catch(Exception e){
System.out.println(" soapheader Exception == ");
e.printStackTrace();
}
_call.addHeader(head);
return _call;
這樣,就會加上SoapHeader了。提示類找不到的話請import org.apache.axis.message.*;
最后是編寫請求代碼了:
import Java.io.*;
import Java.sql.*;
import Java.awt.*;
import Javax.xml.namespace.*;
import Java.awt.event.*;
import Java.NET.URL;
import org.apache.axis.client.*;
import com.cjjer.www.webs.*;
public class TestNET {
// main method
public static void main(String args[]) {
System.out.println("我要進來了,嘎嘎");
try{
String endpoint= "http://s:9999/IUsers.asmx";
cjjerLocator locator = new cjjerLocator();//
locator.setMaintainSession(true);
cjjerSoap service = locator.getcjjerSoap();//獲得服務對象
Member objM= service.getUser(1);
System.out.println(objM.getName());
}
catch (Exception e) {
e.printStackTrace();
}
}
}
如果不發(fā)生異常,就OK了,發(fā)生異常的話自行處理。
編譯:
Javac -cp "E:/tomcat6/webapps/axis/WEB-INF/lib/commons-logging.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/axis.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/commons-discovery.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/jaxrpc.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/wsdl4j.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/saaj.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/jaxrpc.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/mail.jar;" com/cjjer/www/webs/*.Java -Xlint:unchecked
運行測試:
Java -cp "E:/tomcat6/webapps/axis/WEB-INF/lib/commons-logging.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/axis.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/commons-discovery.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/jaxrpc.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/wsdl4j.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/saaj.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/jaxrpc.jar;E:/tomcat6/webapps/axis/WEB-INF/lib/mail.jar;" TestNET
jsp技術:java SOAPHEADER的web service,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。