Java WebService 客户端的URL能不能只连服务端的端点,不连服务端的wsdl文件?

gengyonghui 2014-10-25 02:36:31
大家好,Java 6以上的版本是自带webservice包的,但是看了一下,client端必须要访问服务端的 http://*****/?wsdl获取wsdl内容才行,有没有直接访问web service端点的方法?主要是不想让服务端的wsdl暴露出来。
顺便说一下,client端为java或.net,服务端为c++ gSoap.

1.先通过wsimport命令生成对应的java stub文件后,还是要访问服务端的wsdl内容才行。
示例如下:
public static void main(String[] args)
{
URL url = null;
try {
//url = new URL("file:/D:/gsoap_test/java_client/calc.wsdl");
url = new URL("http://localhost:8888?wsdl");
} catch (MalformedURLException ex) {

}

Calc service= new Calc(url);
CalcPortType port = service.getCalc();

double val = port.add(1, 2);
System.out.println(val);

可以看到,那个url里必须是wsdl的url。

Net的web service,和c++的gsoap client就不用获取wsdl,直接提供端点就可以了。
以下是.net的main文件
using sharpclient.calcService;

class RandClient
{
static void Main()
{

calc service = new calc();
service.Url = "http://localhost:8888";
add add_val = new add();
add_val.a = 1;
add_val.b = 2;
addResponse val = service.add(add_val);
Console.WriteLine(val.result);
System.Threading.Thread.Sleep(5000);
}
}

多谢。
...全文
180 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧