所有你必須是使用正確的終點URL
((BindingProvider)port).getRequestContext().put(BindingProvider.
ENDPOINT_ADDRESS_PROPERTY, "https://yourservice");
需要在頂部導入:
import javax.xml.ws.BindingProvider;
端口的方法調用:
完整的源:
private static String getApplicationStatus(java.lang.String remoteAccessKey, java.lang.Integer responseId) {
net.quotit.oes._2010.ws.applicationstatusupdate.OASStatusUpdateService service = new net.quotit.oes._2010.ws.applicationstatusupdate.OASStatusUpdateService();
net.quotit.oes._2010.ws.applicationstatusupdate.IApplicationStatusUpdate port = service.getStatusUpdate();
((BindingProvider)port).getRequestContext().put(BindingProvider.
ENDPOINT_ADDRESS_PROPERTY, "https://servicename/basic");
return port.getApplicationStatus(remoteAccessKey, responseId);
}
嗨埃裏克 - 非常感謝!我正在使用wsimport和有效的服務wsdl(例如https://sa-sf.erp.net/testWSthree/service?wsdl)。所以,我想網址或位置都很好。關於另一種可能性,我怎樣才能看到響應頭?我正在從eclipse中的測試客戶端應用程序調用服務。 – JoyLahi
使用HTTPWatch,我注意到服務器將響應重定向到http://sa-dev-sf.erp.net/testWSthree/service?wsdl。而不是https:// ..並在httpwatch中具有以下標題信息:(Status-Line)HTTP/1.1 302找到 連接\t關閉 位置https://sa-dev-sf.erp.net/testWSthree/service? wsdl – JoyLahi
好吧,我想你已經明白了 - 重定向是http。如果這個服務器是ASP.NET,那麼在這兩行之間進行閱讀,我相信有一個配置文件(web.config?),它指定哪些URL是安全的(https),哪些不是。也許這和找到配置文件一樣簡單。但是,我對ASP很失望,所以不要太看我的建議! –