wsit是sun的一个项目,要使它每次不需要读取WSDL,我们把WSDL下载来放在本地:
1)用Netbeans生成客户端的WCF引用配置
META-INF/wsit-client.xml
META-INF/service.svc.xml
2)保存网络上的WSDL到bin下
XXXProject/bin/Service.svc.wsdl
3)每次生成service类的时候读取bin下的WSDL,而不是去读http://XXX/Service.svc?wsdl
baseUrl = org.tempuri.Service.class.getResource("/");
URL url = new (baseUrl, "Service.svc.wsdl")
4)在运行时修改真正的地址:
((javax.xml.ws.BindingProvider)port).getRequestContext().put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "NEW_ADDRESS_HERE");