1 服務點介面。
@WebService
public interface IHelloWorld {
public String getHellow( @WebParam(name="name") String name);
}
2 實作類
@WebService(endpointInterface="com.web.hellow.IHelloWorld",serviceName="Hellow")
public class HelloWorld implements IHelloWorld {
public String getHellow(String name) {
String str="你好,世界;你好,"+name;
return str;
}
}
3 暴露Web服務
public static void main(String[] args) {
String address="http://localhost:8000/hellow";
HelloWorld hellow = new HelloWorld();
Endpoint.publish(address, hellow);
}
以上生成正確wsdl,如下

targetNamespace為默認(包名倒置)
=============================================================
以上都沒問題,我要修改targetNamespace為“http://aaa/”,代碼如下
@WebService(targetNamespace="http://aaa/")
public interface IHelloWorld {
public String getHellow( @WebParam(name="name") String name);
}
-暴露服務生成wsdl如下

有如下幾個問題:
1.targetNamespace并沒有修改,而綠色劃線處namespace被修改
2.wsdl的內容發生了很大變化
希望大神詳細一些說明一下
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
你笑啥,趕緊給我看看是為什么
uj5u.com熱心網友回復:
@WebService(endpointInterface="com.web.hellow.IHelloWorld",serviceName="Hellow",targetNamespace="http://aaa/")
public class HelloWorld implements IHelloWorld {
public String getHellow(String name) {
String str="你好,世界;你好,"+name;
return str;
}
}
uj5u.com熱心網友回復:
解決了第一個問題,targetNamespace修改成功了,但是第二個問題,為什么設定了targetNamespace以后,wsdl報文發生了很大變化
uj5u.com熱心網友回復:
沒必要糾結 。 最好 是都放在 實作類里寫 就不會出掃描問題了 . 注解不要放在介面 會出事uj5u.com熱心網友回復:
我的怎么不能改targetNamespace,你是怎么改的uj5u.com熱心網友回復:
老哥 你怎么實作的呢 我改了之后就無法呼叫了啊uj5u.com熱心網友回復:
找了所有的 都沒有發現可以的 最后只在 樓主說的這個方法才可以。把targetNamespace寫在介面上的webservice注解。 但是樓主說的那個第二個問題。我目前是調通了,還沒有發現有什么問題。uj5u.com熱心網友回復:
你修改完之后怎么調通的,是修改客戶端嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/242478.html
標籤:Web 開發
上一篇:TForm的Position屬性,poScreenCenter和poDesktopCenter的具體區別?
下一篇:百度ai人臉對比的錯誤
