WebService Postman请求方式

4,584 阅读2分钟

一、需求

使用postman请求webservice

二、webservice接口

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import java.util.ArrayList;

@WebService
public interface UserService {
    @WebMethod
    String getName(@WebParam(name = "req1") String req1, @WebParam(name = "req2") String req2);

    @WebMethod
    User getUser(@WebParam(name = "userId") String userId);

    @WebMethod
    User getUserObj(@WebParam(name = "user") UserReq req);

    @WebMethod
    ArrayList<User> getAlLUser();
}

三、解决方案

Postman Headers需要设置Content-Type 为 text/xml;charset=utf-8,Body选择raw XML(text/xml)

1、请求参数为String
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://service.webservicedemo.owater.com/">
   <soapenv:Body>
      <ws:getName>
         <userId>Owater</userId>
      </ws:getName>
   </soapenv:Body>
</soapenv:Envelope>
2、请求返回对象
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://service.webservicedemo.owater.com/">
   <soapenv:Body>
      <ws:getName>
         <userId>Owater</userId>
      </ws:getName>
   </soapenv:Body>
</soapenv:Envelope>

返回值

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns2:getUserResponse xmlns:ns2="http://service.webservicedemo.dbgo.com/">
            <return>
                <age>20</age>
                <updateTime>2019-06-25T22:44:48.740+08:00</updateTime>
                <userId>411001</userId>
                <username>owater</username>
            </return>
        </ns2:getUserResponse>
    </soap:Body>
</soap:Envelope>
3、请求参数为对象
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://service.webservicedemo.owater.com/">
   <soapenv:Body>
      <ws:getUserObj>
      	<user>
      		<name>testname</name>
      		<age>100</age>
      	</user>
      </ws:getUserObj>
   </soapenv:Body>
</soapenv:Envelope>
4、请求返回集合
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://service.webservicedemo.owater.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:getAlLUser>
      </ws:getAlLUser>
   </soapenv:Body>
</soapenv:Envelope>

返回值

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns2:getAlLUserResponse xmlns:ns2="http://service.webservicedemo.owater.com/">
            <return>
                <age>20</age>
                <updateTime>2019-06-25T10:56:08.867+08:00</updateTime>
                <userId>411001</userId>
                <username>owater</username>
            </return>
            <return>
                <age>40</age>
                <updateTime>2019-06-25T10:56:08.867+08:00</updateTime>
                <userId>411002</userId>
                <username>owater2</username>
            </return>
        </ns2:getAlLUserResponse>
    </soap:Body>
</soap:Envelope>