首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

JAVA公布和调用WebService

2012-09-22 
JAVA发布和调用WebService?xmlversion1.0encodingISO-8859-1? !DOCTYPEweb-appPUBLIC-//SunMicr

JAVA发布和调用WebService

<?xmlversion="1.0"encoding="ISO-8859-1"?> <!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app><display-name>Apache-Axis</display-name> <listener><listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class></listener> <servlet><servlet-name>AxisServlet</servlet-name><display-name>Apache-AxisServlet</display-name><servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class></servlet> <servlet><servlet-name>AdminServlet</servlet-name><display-name>AxisAdminServlet</display-name><servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class><load-on-startup>100</load-on-startup></servlet> <servlet><servlet-name>SOAPMonitorService</servlet-name><display-name>SOAPMonitorService</display-name><servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class><init-param><param-name>SOAPMonitorPort</param-name><param-value>5001</param-value></init-param><load-on-startup>100</load-on-startup></servlet> <servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>/servlet/AxisServlet</url-pattern></servlet-mapping> <servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>*.jws</url-pattern></servlet-mapping> <servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>/services  package test.com.sinosoft.webservice;    import java.io.IOException;  import java.net.MalformedURLException;    import javax.xml.namespace.QName;  import javax.xml.rpc.ServiceException;    import org.apache.axis.client.Call;  import org.apache.axis.client.Service;  import org.apache.commons.logging.Log;  import org.apache.commons.logging.LogFactory;      public class TestHelloService {      private static final Log log = LogFactory.getLog(TestHelloService.class);      private static final String HELLO_SERVICE_ENDPOINT = "http://127.0.0.1:8080/WebServiceTest/services/HelloServices?wsdl";        public static void main(String[] args) {          TestHelloService tester = new TestHelloService();          // tester.callSayHello();          tester.callSayHelloToPerson();      }        public void callSayHello() {          try {              Service service = new Service();              Call call = (Call) service.createCall();              call.setTargetEndpointAddress(new java.net.URL(                      HELLO_SERVICE_ENDPOINT));              //下面名字查询的http://127.0.0.1:8080/WebServiceTest/services/HelloServices?wsdl文件里有              call.setOperationName(new QName("http://webservice.sinosoft.com/",                      "sayHello"));              call.setReturnType(org.apache.axis.Constants.XSD_STRING);              try {                  //远程调用发布的方法                  String ret = (String) call.invoke(new Object[] {});                  System.out.println("The return value is:" + ret);                  return;              } catch (IOException e) {                  e.printStackTrace();              }          } catch (MalformedURLException e) {              e.printStackTrace();          } catch (ServiceException e) {              e.printStackTrace();          }          log.error("call sayHello service error!");      }        public void callSayHelloToPerson() {          try {              Service service = new Service();              Call call = (Call) service.createCall();              call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));              call.setOperationName(new QName("http://webservice.sinosoft.com/",                      "sayHelloToPerson"));              call.addParameter("name", org.apache.axis.Constants.XSD_STRING,                      javax.xml.rpc.ParameterMode.IN);              call.setReturnType(org.apache.axis.Constants.XSD_STRING);              try {                  String ret = (String) call.invoke(new Object[] { "Stephen" });                  System.out.println("The return value is:" + ret);                  return;              } catch (IOException e) {                  e.printStackTrace();              }          } catch (MalformedURLException e) {              e.printStackTrace();          } catch (ServiceException e) {              e.printStackTrace();          }          log.error("call sayHello service error!");      }  }  
?

热点排行