- package com.asiainfo.b2p.soap.interfaces;
- import java.rmi.RemoteException;
- public interface IBbossGroupInfoService {
- // 根据集团编号查询集团基本信息
- /**
- * 集团编号 GROUP_NUM 集团名称 GROUP_NAME 公司地址 CO_ADDR 集团状态 GROUP_STATE 集团开户时间
- * START_TIME 传真 FAX 企业网址 WEB_URL 证件类型 CARD_TYPE 证件号码 CARD_CODE
- * 公司邮编CO_POSTCODE 联系电话 TEL_NUM 法人代表名称 PERSON_NAME 发展类型 DEVELOP_TYPE
- * 地区编码REGION_ID regionId
- *
- * @throws Exception
- */
- public abstract String groupInfo(long groupNo) throws Exception,
- RemoteException;
- // 根据集团编号查询集团订购历史
- public abstract String groupSubHistoryInfo(long groupNo) throws Exception;
- }
- package com.asiainfo.b2p.soap.impl;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import com.asiainfo.b2p.soap.interfaces.IBbossGroupInfoService;
- /**
- * @Product esop_dev
- * @FileName IBbossGroupInfoServiceImpl.java
- * @History TODO 根据集团编号,查询集团基本信息、集团用户信息、集团订购历史
- * @Version 1.0.0
- * @Date Nov 22, 2011
- * @Author pantaipeng
- * @Content 最初版本
- */
- public class IBbossGroupInfoServiceImpl implements IBbossGroupInfoService {
- private static transient Log log = LogFactory
- .getLog(IBbossGroupInfoServiceImpl.class);
- // 根据集团编号查询集团基本信息
- public String groupInfo(long groupNo) throws Exception, RemoteException {
- log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>集团编号=" + groupNo);
- //方法体我省略了,为了测试我仅加入一句打印语句
- System.out.println("我是一个公共的方法,作用是根据集团编号查询集团基本信息");
- String xml="<message>public_groupInfo</message>";//为了测试,返回的信息我也是随便写的一个字符串
- return xml;
- }
- // 根据集团编号查询集团订购历史
- public String groupSubHistoryInfo(long groupNo) throws Exception {
- log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>集团编号=" + groupNo);
- //方法体我省略了,为了测试我仅加入一句打印语句
- System.out.println("我是一个公共的方法,作用是根据集团编号查询集团订购历史");
- String xml="<message>public_groupSubHistoryInfo</message>";//为了测试,返回的信息我也是随便写的一个字符串
- return xml;
- }
- }
- <service name="GroupInfoService" type="" provider="java:RPC">
- <parameter name="className" value="com.asiainfo.b2p.soap.impl.IBbossGroupInfoServiceImpl" ></parameter>
- <parameter name="allowedMethods" value="*"/>
- </service>
(3)配置web.xml文件
- <servlet>
- <servlet-name>AxisServlet</servlet-name>
- <display-name>Apache-Axis Servlet</display-name>
- <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- package test.webserviceclient;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.rmi.RemoteException;
- import javax.xml.rpc.ParameterMode;
- import javax.xml.rpc.ServiceException;
- import org.apache.axis.client.Call;
- import org.apache.axis.encoding.XMLType;
- public class Test {
- /**
- * 通过genClient.bat文件生成的webservice客户端调用webservice服务的步骤如下:
- * 1.创建service对象
- * 2.创建url对象
- * 3.创建call对象,
- * 4.调用webservice的方法
- */
- public static void test1() {
- try {
- // 1.创建service对象,通过axis自带的类创建
- org.apache.axis.client.Service service = new org.apache.axis.client.Service();
- // 2.创建url对象
- String wsdlUrl = "http://10.10.146.82:8080/esop_dev/services/GroupInfoService?wsdl";//请求服务的URL
- URL url = new URL(wsdlUrl);//通过URL类的构造方法传入wsdlUrl地址创建URL对象
- // 2.创建服务方法的调用者对象call,设置call对象的属性
- Call call = (Call) service.createCall();
- call.setTargetEndpointAddress(url);//给call对象设置请求的URL属性
- String serviceName = "groupInfo";
- call.setOperationName(serviceName);//给call对象设置调用方法名属性
- call.addParameter("groupNo", XMLType.XSD_LONG, ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
- call.setReturnType(XMLType.SOAP_STRING);// 设置调用方法的返回值类型
- //4.通过invoke方法调用webservice
- long groupNo = 2100000014L;
- String res = (String) call.invoke(new Object[] { groupNo });//调用服务方法
- System.out.println(res);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (ServiceException e) {
- e.printStackTrace();
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- test1();
- }
- }

- package test.webserviceclient;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.rmi.RemoteException;
- import javax.xml.rpc.ParameterMode;
- import javax.xml.rpc.ServiceException;
- import org.apache.axis.client.Call;
- import org.apache.axis.encoding.XMLType;
- public class Test {
- /**
- * 通过genClient.bat文件生成的webservice客户端调用webservice服务的步骤如下:
- * 先介绍创建的四个文件分别为:
- * IBbossGroupInfoServiceImpl 定义了web服务接口,
- * IBbossGroupInfoServiceImplService 定义了用户获取web服务接口的方法
- * IBbossGroupInfoServiceImplServiceLocator 接口IBbossGroupInfoServiceImplService的具体实现
- * GroupInfoServiceSoapBindingStub web服务客户端桩,通过该类与服务器交互,该类实现了IBbossGroupInfoServiceImpl接口
- * 1.创建service对象
- * 2.创建url对象
- * 3.创建client对象
- * 4.调用webservice的方法
- */
- public static void test1() {
- // 1.创建一个service对象
- IBbossGroupInfoServiceImplService service = new IBbossGroupInfoServiceImplServiceLocator();
- try {
- // 2.创建一个URL对象,传入wsdl的地址够过URL的构造方法创建
- String wsdlUrl = "http://10.10.146.82:8080/esop_dev/services/GroupInfoService?wsdl";
- URL url = new URL(wsdlUrl);
- // 3创建一个client对象
- IBbossGroupInfoServiceImpl client = service
- .getGroupInfoService(url);
- // 4调用webservice的方法
- long groupNo = 2100000014L;
- String res = client.groupInfo(groupNo);
- System.out.println(res);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (ServiceException e) {
- e.printStackTrace();
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- test1();
- }
- }
- 给力(0票)
- 动心(0票)
- 废话(0票)
- 专业(0票)
- 标题党(0票)
- 路过(0票)