java如何开发webservice接口

本次项目需求要改造一个现有的webservice接口,增加参数;这里先简略记录一下开发步骤。

至于webservice是什么,就暂时不谈了。

 

1.首先,从需求文档中找到目标接口url,以及方法名method,顺便看一下入参出参。

例如:

url:http://127.0.0.1/webservice/userService?wsdl

method:getUser

 

2.然后准备修改代码,找到代码中对应的方法,例如:


@WebMethod(operationName="getUser")

public String getUser(String username, String password){

  //根据username与password从数据库查询用户信息,并返回,省略

 //这个WebServiceUtil.getUser()是自己封装的一个方法,返回String,内含xml标签,见下方的返回报文

 return WebServiceUtil.getUser(username,password);

}

 

3.然后打开软件SoapUI,点击File->New SOAP Project,然后在Initial WSDL框中输入接口url,注意要加?wsdl,否则会出错。

http://127.0.0.1/webservice/userService?wsdl

 

4.然后SoapUI就会帮我们扫描到这个url里有哪些方法,显示在左侧栏;然后双击目标方法,会弹出Request对话框,其中有请求体的具体格式,SoapUI帮我们自动生成好了,例如:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:iw="http://iw.webservice.udp.COMPANYNAME.com/">
  <soapenv:Header />
  <soapenv:Body>
    <iw:getUser>
        <arg0>abc</arg0>
        <arg1>123456</arg1>
    </iw:getUser>
   </soapenv:Body>
</soapenv:Envelope>

注意,请求报文仅供参考,如果直接使用不一定能用!

因为iw是xmlns:iw那里配置的,其中的网址信息不同项目可能会不同!

getUser对应代码中的@WebMethod(operationName="getUser")与getUser()方法!

传入参数时,需要使用arg0、arg1的格式,而不是getUser()里的入参名username,password!

 

5.在请求体中修改传入的参数,点击绿色三角按钮,就会实际访问这个接口,在右侧会显示接口的返回消息,与代码中getUser()方法返回的String对应,例如:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:getUserResponse xmlns:ns2="http://iw.webservice.udp.COMPANYNAME.com/">
      <return>{"result":"T","msg":"success"}</return>
    </ns2:getUserResponse>
   </soap:Body>
</soap:Envelope>

注意,响应报文仅供参考,如果直接使用不一定能用!

因为其中ns2与getUserResponse也是与代码对应的!不同项目不同代码的标签是不同的!

其中,整个响应报文是String;return标签中返回的是一个json,供客户端处理。

 

6.如果程序中有断点,就会进入断点,这样就可以调试了;需要注意,如果调试断点时间过长,之后放开断点继续运行时,也会导致SoapUI无法收到返回报文,以及程序报错;这时只要去掉断点等,让程序尽快执行完即可,SoapUI就可以正常收到返回报文了。

 

7.如果用Postman调试webservice接口,便稍微复杂一些,要注意请求体必须按照xml格式才可以,而且xml的标签不能乱写,否则会返回错误报文。(请求体应该按照SoapUI中自动生成的标准请求体的样子,不同项目不同方法生成的有些微不同)

 

8.如果Postman调试webservice接口,收到的返回报文是错误信息,很可能是请求体的xml标签格式不对,所以建议尽量使用SoapUI,这个软件可以帮我们生成标准的webservice请求体xml格式的报文

以下是使用Java开发Web服务接口的一般步骤: 1. 确定接口的输入和输出 首先确定你的接口需要接受什么样的输入,以及输出什么样的结果。例如,你可能需要一个接口来接受一个字符串并返回该字符串的反转版本。 2. 创建Java类 接下来,需要创建一个Java类来实现你的接口。这个类应该包含一个方法来接受输入并返回输出。在本例中,你可以创建一个名为“ReverseString”的类,该类包含一个名为“reverse”的方法,接受一个字符串并返回该字符串的反转版本。 3. 定义Web服务 接下来,需要定义Web服务并将其绑定到Java类上。可以使用Java API for XML Web Services(JAX-WS)来完成此任务。在你的Java类上添加@WebService注释,然后使用@WebMethod注释定义要公开的方法。例如: ``` @WebService public class ReverseString { @WebMethod public String reverse(String input) { // implementation code here } } ``` 4. 部署Web服务 一旦定义了Web服务,就需要将其部署到Web服务器上。可以使用Java Servlet容器(如Tomcat)来部署Web服务。将你的Java类打包成WAR文件,然后将其部署到Web服务器上。 5. 测试Web服务 最后,测试你的Web服务。可以使用SOAPUI等工具来测试Web服务。在SOAPUI中,输入Web服务的URL,然后使用提供的输入参数调用Web服务。应该会得到Web服务返回的输出结果。 以上是使用Java开发Web服务接口的一般步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想永不停

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值