Java使用JAX-WS发布WebService服务

最近在调试WebService接口,所以用Java写了一个简单的WebService服务供测试用,在网上找了一圈,发现有自带的类可以实现。
不多说,贴代码:

package com.sms;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.Endpoint;
import javax.jws.soap.SOAPBinding;

@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
@BindingType(value = "http://
public class SmsService {
public String[][] GetStatus(String[] IDArray, String sysCode, String sysPwd){
if(IDArray.length <= 0)
{
System.out.println("GetStatus:IDArray is null");
System.out.println("SendBatch:IDArray length : " + IDArray.length);
return null;
}
String[][] response = new String[IDArray.length][2];
for(int i = 0;i < IDArray.length; i++)
{
response[i][0] = IDArray[i];
response[i][1] = Integer.toString(1);
System.out.println("GetStatus: [" + IDArray[i] + "] send status :" + Integer.toString(1));
}
return response;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
//第一种发布:最简单直接的webService发布,默认使用的是soap1.1
//Endpoint.publish("http://192.168.207.10:8080/Service/SmsMessage", new SmsService());

        //webService发布的wsdl
String address = "http://192.168.207.10:8080/Service/SmsMessage";
   
//webService应用的实体类
SmsService server = new SmsService();
//第二种发布:使用的是soap1.2
Endpoint.create("http://www.w3.org/2003/05/soap/bindings/HTTP/",server).publish(address);
//第三种发布:使用的是xsoap1.2,可以处理客户端soap1.2,会出现警告--为指定的绑定生成非标准 WSDL
//Endpoint.create("http://;
System.out.println("service success !");
}

}

测试过程中遇到的问题:
1,使用第一种情况发布时,客户端(C#)连接时报不支持的Content-Type,找了半天是soap协议的问题,用后面的方法改为soap1.2版本的即可。


posted @ 2019-05-17 16:58  strongbug1  阅读(41)  评论(0编辑  收藏  举报