Eclipse导入WSDL测试过程

合集下载

Eclipse WTP创建WSDL对象过程

Eclipse WTP创建WSDL对象过程

WSDL创建对象,然后传递过程/***Mar13,2007*Zhou JianGuo*小白*中国电信上海技术研究院*MSN:zhuojianguo_leo@*/1.用Eclipse WTP工具新建一个wsdl文件,比如Register.wsdl2.开始在这个文件上做Design设计3.新建一个Add Service,然后再依次添加Add Binding,Add PortType4.对新建立的Binding,选择Generate Binging content ,选择soap document literal5.对新建立的PortType 添加Operation ,注意下面的<wsdl:portType name="MyRegister"><wsdl:operation name="UserRegister"><wsdl:input message="tns:UserInfoRequest"></wsdl:input><wsdl:output message="tns:UserInfoResponse"></wsdl:output></wsdl:operation></wsdl:portType>operation name="UserRegister" 必须和message="tns:UserInfoRequest" 不一样,不能是operation name="UserRegister" message="tns:UserRegisterRequest" 这样的,这个是自动生成的好像切记看看是不是有方法名重复使用了,web service切记方法名不能随便重复的6.进入UserInfo信息,可以看到7.进入UserInfoResponse信息,可以看到8.他们的属性是9再新建一个名字跟Service一样的名字的叫MyRegister引用上面2个对象,ref=….属性是10.然后右击这个wsdl文件,选择web service里的Generate java bean skeleton 就可以看到新产生的对象,然后调用*_BindingImpl.java这个文件执行业务逻辑处理业务逻辑处理11.最后一步就是发布了,往server-config.wsdd添加一段类是下面的,对象传递必须序列化<service name="MyRegister" provider="java:RPC" style="document"use="literal"><parameter name="wsdlTargetNamespace"value="/soapas"/><parameter name="wsdlServiceElement" value="MyRegister"/><parameter name="schemaQualified"value="/soapas"/><parameter name="wsdlServicePort" value="MyRegister"/><parameter name="className"value="org.Register.www.MyRegister.MyRegister_BindingSkeleton"/> <parameter name="wsdlPortType" value="MyRegister"/><parameter name="typeMappingVersion" value="1.2"/><parameter name="allowedMethods" value="*"/><typeMappingxmlns:ns="/soapas"qname="ns:UserInfoResponse"type="java:erInfoResponse"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle=""/><typeMappingxmlns:ns="/soapas"qname="ns:UserInfo"type="java:erInfo"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle=""/></service>-------------------------------------------------------------------<service name="VimicroAS" provider="java:RPC" style="document" use="literal"><parameter name="wsdlTargetNamespace"value="/soapas"/><parameter name="wsdlServiceElement" value="VimicroAS"/><parameter name="schemaQualified"value="/soapas"/><parameter name="wsdlServicePort" value="VimicroAS"/><parameter name="className"value="cn.vipcam.www.soapas.VimicroAS_BindingSkeleton"/><parameter name="wsdlPortType" value="VimicroAS"/><parameter name="typeMappingVersion" value="1.2"/><parameter name="allowedMethods" value="*"/><typeMappingxmlns:ns="/soapas"qname="ns:>ASRegisterResponse"type="java:cn.vipcam.www.soapas.ASRegisterResponse"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle=""/><typeMappingxmlns:ns="/soapas"qname="ns:ASRegister1"type="java:cn.vipcam.www.soapas.ASRegister"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle=""/></service>12.下面是一个整个wsdl文件,大家可以拷贝下来修改<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="MyRegister"targetNamespace="/MyRegister/"xmlns:wsdl="/wsdl/"xmlns:tns="/MyRegister/"xmlns:xsd="/2001/XMLSchema"xmlns:soap="/wsdl/soap/"><wsdl:types><xsd:schema xmlns:xsd="/2001/XMLSchema"targetNamespace="/MyRegister/"><xsd:element name="MyRegister"><xsd:annotation><xsd:documentation>this is a root element</xsd:documentation></xsd:annotation><xsd:complexType><xsd:sequence><xsd:elementref="tns:UserInfoResponse"></xsd:element><xsd:element ref="tns:UserInfo"></xsd:element></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="UserInfo"><xsd:complexType><xsd:sequence><xsd:element name="in" type="xsd:string"></xsd:element> </xsd:sequence></xsd:complexType></xsd:element><xsd:element name="UserInfoResponse"><xsd:complexType><xsd:sequence><xsd:element name="out" type="xsd:string"></xsd:element> </xsd:sequence></xsd:complexType></xsd:element></xsd:schema></wsdl:types><wsdl:message name="UserInfoRequest"><wsdl:part name="parameters" element="tns:UserInfo"></wsdl:part> </wsdl:message><wsdl:message name="UserInfoResponse"><wsdl:part name="parameters"element="tns:UserInfoResponse"></wsdl:part></wsdl:message><wsdl:portType name="MyRegister"><wsdl:operation name="UserRegister"><wsdl:input message="tns:UserInfoRequest"></wsdl:input><wsdl:output message="tns:UserInfoResponse"></wsdl:output> </wsdl:operation></wsdl:portType><wsdl:binding name="MyRegister" type="tns:MyRegister"><soap:binding style="document"transport="/soap/http" /> <wsdl:operation name="UserRegister"><soap:operationsoapAction="/MyRegister/NewOperation" /> <wsdl:input><soap:body use="literal" /></wsdl:input><wsdl:output><soap:body use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="MyRegister"><wsdl:port name="MyRegister" binding="tns:MyRegister"><soap:addresslocation="/MyRegister"></soap:address> </wsdl:port></wsdl:service></wsdl:definitions>12.开始设计业务逻辑代码package org.Register.www.MyRegister;public class MyRegister_BindingImpl implementsorg.Register.www.MyRegister.MyRegister_PortType{public erInfoResponseuserRegister(erInfo parameters) throws java.rmi.RemoteException {//业务逻辑处理S ystem.out.println(parameters.getIn());U serInfoResponse UserInfoResponse=new UserInfoResponse();U serInfoResponse.setOut("ok");r eturn UserInfoResponse;}}13.开始启动web服务器,得到我的wsdl地址是http://localhost:8000/Video/services/MyRegister?wsdl14.打开测试工具xmlspy.输入上面的soap地址,就会产生一个方法输入页面<SOAP-ENV:Envelopexmlns:SOAP-ENV="/soap/envelope/"xmlns:SOAP-ENC="/soap/encoding/"xmlns:xsi="/2001/XMLSchema-instance"xmlns:xsd="/2001/XMLSchema"><SOAP-ENV:Body><m:UserInfo xmlns:m="/MyRegister/"><m:in>11</m:in></m:UserInfo></SOAP-ENV:Body></SOAP-ENV:Envelope>结果页面<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="/soap/envelope/"xmlns:xsd="/2001/XMLSchema" xmlns:xsi="/2001/XMLSchema-instance"> <soapenv:Body><UserInfoResponse xsi:type="ns1:UserInfoResponse" xmlns="/MyRegister/"xmlns:ns1="/soapas"><out xmlns="">ok</out></UserInfoResponse></soapenv:Body></soapenv:Envelope>15 整个wsdl 创建发布测试完成!。

Eclipse_BPEL_使用详解

Eclipse_BPEL_使用详解

至此,ODE 安装成功。

1.3安装BPEL Designer插件
1)启动Eclipse,选择Help -> Install New Software,进入Install wizard,如下所示
)选择Add按钮,并输入如下地址:
/technology/bpel/update-site/,点击OK
2)点击Finish就会生成java类对应的wsdl文件和配置文件,并发布到tomcat中,同时
会生成调用服务的客户端,选择add(double,double),对该方法进行测试,如下所示:
选上AddService接口,点Ok,弹出伙伴链接类型定义,把名字取为Next。

要求输入Role Name,这里输入“
同时在属性视图中把ParterRole选为addProvider。

如下图所示:
以同样。

建立subPL设置
input后边对应的箭头,打开一个新的Editor对输入消息进行配置。

进去后选中类型,右键,就可以增加元素,并设置元素的类型,结果如下,其中a,b分别表示需要加减的2个
同理,处理其他3个Assign。

c)Invoke语句的设置
Invoke的作用是调用伙伴链接对应接口下的对应操作,还需要指定输入输出同理,处理InvokeSub(Invoke1):
同理,测试SubService,结果如下所示:4.4测试BPEL
本示例主要使用Eclipse开发环境,结合ODE解析器,解析BPEL调用WebService 目流程,并最终发布测试通过。

1.ODE服务器无法创建
重启Tomcat服务器及Eclipse。

SoapUI测试工具WSDL文件生成

SoapUI测试工具WSDL文件生成

SoapUI测试工具WSDL文件生成
最近找到一款测试工具SoapUI--接口测试工具,觉得挺不错。

所以粗略的研究了一下,在此特地总结了一下。

使用SOAPUI测试工具时,谈到最多的是导入WSDL文件新建工程。

由于对开发不熟,所以一直纠结如何生成WSDL文件这个问题。

后来,终于找到了WSDL文件的生成方式,使用Eclipse或者PHP_ZendStudio。

1.启动Eclipse工具导入项目工程
2.选择File->New->Other,选择Web Services中WSDL,点击Next
3.选择目标文件父目录,并新建wsdl文档名称;如下图
4.点击Next并至Finish
5.点击Finish完成后,进入如下界面
6.用户可自行编辑设置测试步骤项。

7.WSDL文件生成后,可按SOAPUI用户手册进行导入并进行测试。

webservice操作步骤

webservice操作步骤

一、可以使用axis提供的Java2WSDL功能生成所要发布类的WSDL,步骤如下:1.在你的eclipse或myeclipse的项目中找到你引入的axis.jar包,打开它,在其里面找到org.apache.axis.wsdl下面的Java2WSDL类,然后以Java application方式运行一下它2.打开菜单栏“run”-->“Debug”,在弹出框的左边找到“Java Application”项,在其里面你会看到“Java2WSDL”子项,点击它---> 在右面“Main”选项下有:“Project -- '你的项目名称' ,Main class -- 'org.apache.axis.wsdl.Java2WSDL'”,这些信息是自动进去的,不需要改动;打开“Arguments”选项,在其下“Program arguments”中输入:-o PbossProcessSheet.wsdl-P PbossProcessSheetPortType-b PbossProcessSheetSoapBinding-l http://localhost:8088/services/PbossProcessSheet-n /ai/webservice-pcom.ai.oms.inter.eoms.server=/ai/webservice-y rpccom.ai.oms.inter.eoms.server.interfaces.IEomsService然后点击"Run"按钮,就可以生成你要的wsdl文件了。

参数含义如下-o,output<WSDL file>指定输出的WSDL 文件名。

若没有指定,一个适当的默认WSDL 文件名将被写到当前目录。

-l,location<location>指定Web 服务位置的URL。

(NC55以上版本)Eclipse开发Webservice配置过程

(NC55以上版本)Eclipse开发Webservice配置过程

Eclipse配置开发Webservice过程编写人:何冰一、在开发环境中,创建一个WebService首先将nc.uap.mde.wstools_1.0.3.jar放到Eclipse下的plugins目录下。

在Eclipse中新建一个工程,创建一个Webservice接口,和接口实现类:样例代码:public interface IHelloWorld {public String sayHelloName(String userid, String name);}package nc.esb.test;public class HelloWorldImpl implements IHelloWorld {public String sayHelloName(String userid, String name) { String strSay = "Welcome "+ userid + " : "+ name + " to UFIDA !";return strSay;}}然后在接口上点击右键,选择“WS Tools”-> “Public Web Service”,如图:下一步:下一步:下一步:不需要修改,直接点下一步.在下面的页面中,必须将”是否要求认证授权”的勾去掉,然后点击”Finish”.在开发环境中运行中间件:如果有如下显示,则表明Webservice部署正确:找到自己开发的接口,点击进入,并将IP地址记录下来,在ESB界面中需要用它来完成“新建组件”的“服务”导入。

二、使用soapUI工具进行Webservice接口测试找到soapUI接口测试工具,打开soapUI(接口测试工具)\bin\soapui-pro.bat,运行界面如图:在界面中,在“Porject”上点击右键,选择“New WSDL Project”,如图:在弹出的对话框中,”Project Name”中录入test,”Initial WSDL”中录入http://127.0.0.1:9877/Hellobingbing?wsdl,如图:注意:”Initial WSDL”中录入的http://127.0.0.1:9877/Hellobingbing?wsdl来源于ESB中消息流配置的“服务发布”中的“URL地址”,然后在URL后加上“?wsdl”,如图:然后在左边窗口中显示的接口信息中,展开树形结构,鼠标双击“Request 1”,然后在右边显示的窗口中,录入参数,最终点击绿色的运行箭头,如图:点击绿色箭头后,系统运行Webservice进行测试,然后输出结果,如图:。

wsdl生成及测试文档

wsdl生成及测试文档

Webservice服务提供和测试过程一、新建接口和实现类或者在原有基础上新增方法说明:1. 在接口类和实现类上添加注解@WebService,在方法上方添加@WebMethod2. 在方法入参前添加注解@WebParam(name="随意"),对应请求报文中的参数名。

使用该注解必须先添加@WebService和@WebMethod。

例子:二、根据接口生成wsdlJ ava2W SD L.j ava使用类说明:1. args1需要修改,地址修改为希望存放生成的wsdl文件的路径。

2. 修改main方法中的参数,修改为接口类名三、修改wsdl中的发布地址address将location中参数修改为希望发布的webservice地址,发布到现场时需要修改为真实地址。

说明:1. 使用注解@WebService时如果有参数ServiceName,必须与wsdl中的name 一致,否则会报错。

四、修改xml配置在application-context-webservice-server.xml中新增两条配置:1.<bean> webService实现类JavaBean,id随意,class为实现类路径2.<jaxws:endpoint> id随意,implementor与<bean>中ID一致,address发布地址与wsdl 中的location一致,其他参数可以参考其他类似配置。

五、使用client进行单元测试cl i ent.j ava将参数修改为application-context-webservice-server.xml中配置的< jaxws:endpoint >的id。

访问发布地址http://localhost:8080/services/HelloWord?wsdl有wsdl配置信息说明发布成功。

可以使用soapUI进行测试。

Eclipse发布WebService和调用WebService接口

Eclipse发布WebService和调用WebService接口

Eclipse发布WebService和调⽤WebService接⼝⼀、发布WebService服务1、整个服务端架构如下:2、创建过程1)web.xml2)wsdd.xml3)HelloWorldService.jwspublic class HelloWorldService {private final static String sGreeting = "Hello World!";public String getMessage(){return (sGreeting);}}4) SayHello.javapublic class SayHello {public String getName(String name) {return "hello====>" + name;}}5) ⽤到的jar包 lib⼆、Client调⽤服务端接⼝1、项⽬架构如下:2、调⽤过程:1)右键点击项⽬名称——>“NEW”——>“Other”——>输⼊WEB service client 如下2)完成出现客户端配置窗⼝,如下3)在“service definition”中输⼊webservice开放的服务地址,注意地址末尾必须加上“?WSDL”还需注意的是,创建的web service client 必须是3.0以下版本。

4)这个项⽬中除了 TestClient.java类是⾃⼰创建的,其他都是⾃动⽣成的。

5)TestClient.java类public static void main(String[] args) {try {HelloWorldServiceServiceLocator service = new HelloWorldServiceServiceLocator();.URL url = new .URL("http://localhost:8080/mywebservices/services/HelloWorldService.jws?WSDL"); HelloWorldServiceSoapBindingStub stub = new HelloWorldServiceSoapBindingStub(url, service); String x2 = stub.getMessage();System.out.println(x2);} catch (RemoteException e) {// TODO Auto-generated catch block20e.printStackTrace();} catch (MalformedURLException e) {// TODO Auto-generated catch block23e.printStackTrace();}}这⾥主要⽤到的是***Locator 和***Stub这两个类。

wsdl文件用法(一)

wsdl文件用法(一)

wsdl文件用法(一)WSDL文件简介WSDL(Web Services Description Language)是一种用于描述WebService的XML格式文件。

它定义了WebService的接口、参数、操作和数据格式等信息,可以帮助开发者了解和使用特定的WebService。

WSDL文件的用途•WebService接口定义:WSDL文件提供了详细的WebService接口定义,包括可用操作、输入参数和输出结果等信息。

开发者可以通过查看WSDL文件来理解和调用特定WebService。

•自动生成客户端代码:WSDL文件可以用于生成客户端代码,使开发者可以更方便地调用WebService。

许多开发框架和工具(如SOAPUI、Apache CXF)都支持根据WSDL生成客户端代码。

•WebService测试:WSDL文件可以作为测试的依据,测试人员可以根据WSDL文件中定义的接口和操作,编写相关的测试用例和断言条件。

•WebService文档化和交流:WSDL文件可以作为文档,用于记录WebService的接口和数据格式等定义,便于开发者和团队之间的交流和理解。

WSDL文件的结构•Definitions:WSDL文件的根元素,包含了整个文件的定义和命名空间等信息。

•Types:定义了WebService中使用的数据类型,可以是基本类型、复合类型或自定义类型。

•Message:定义了WebService的消息,包括消息的名称和消息中使用的数据类型。

•PortType:定义了WebService的接口,包括可用的操作和操作的输入输出等信息。

•Binding:将WebService的接口定义与具体的通信协议绑定在一起,如SOAP、HTTP等。

•Service:定义了WebService的服务地址和服务的实现名称等信息。

WSDL文件的编写和使用1.创建WSDL文件:可以使用文本编辑器创建一个扩展名为.wsdl的文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Eclipse导入WSDL测试过程1.建立新测试工程,也可用老的工程, File->New->Project
2.依据WSDL生成webservice客户端代码,File->New->Other
选择Web Service Client,点击Next按钮,出现窗口
点击Browse按钮,出现窗口
点击Browse按钮选择WSDL所在文件夹,或输入WSDL的URI地址(如:http://XXX.XXX.XX/TMSServiceTest.asmx?WSDL)
点击Next按钮,窗口显示如下
选择导入的文件夹,点击Finish按钮完成.
3.编写测试用例:
创建测试主类方法内容如下:
public static void main(String[] args) {
BISSoapEntry_BISInvokeServiceLocator bisservice = new BISSoapEntry_BISInvokeServiceLocator();
.BISSoapEntry_BISInvoke bisInvoke = null;
try {
bisInvoke =
bisservice.getEAIServerInvokeCMISSoapEntryCMISTMS_ZFCXCMISTMS_FKCXCMI STMS_FKCX_RETURN();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
soaptypes.BISSoapEntry.Input BISInvokeInput = new
soaptypes.BISSoapEntry.Input();
soaptypes.BISSoapEntry._Input.F_CONDTABLE[] f_CONDTABLEs = new soaptypes.BISSoapEntry._Input.F_CONDTABLE[1];
soaptypes.BISSoapEntry._Input.F_CONDTABLE condTable = new soaptypes.BISSoapEntry._Input.F_CONDTABLE();
condTable.setF_BUKRS("1750");
condTable.setF_ZHTZFH("80000008-11-MY0101-000603");
f_CONDTABLEs[0] = condTable;
BISInvokeInput.setF_CONDTABLE(f_CONDTABLEs);
try {
soaptypes.BISSoapEntry.Output outPut =
bisInvoke.BISInvoke(BISInvokeInput);
soaptypes.BISSoapEntry._Output.F_RESULTTABLE[] results = outPut.getF_RESULTTABLE();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
以后是调用.net服务的一个简单用例:
public static void main(String[] args) {
TMSServiceTestLocator testLocator = new TMSServiceTestLocator();
try {
com.sinopec.cmis.tms.TMSServiceTestSoap testSoap = testLocator.getTMSServiceTestSoap();
com.sinopec.cmis.tms.TMSPaymentSave parameters = new
com.sinopec.cmis.tms.TMSPaymentSave();
TMSPaymentSaveResponse response =
testSoap.saveToCMIS(parameters);
com.sinopec.cmis.tms.TestObj[] tests =
response.getTMSPaymentSaveResult();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}。

相关文档
最新文档