有没有C#动态调用外部webservices的实例可用的。

通过C#动态调用外部webservices接口的实例可用的,网上找的基本用不成。有没有谁测试可以用的。

1个回答

不明白你的具体需求。说的太含混了。
但是从字面理解,“动态调用“WebService是一个悖论。
如果你连WebService接口类型、输入输出方式都不确定,调用有什么用处?
当然可以通过编程去分析WebService的接口内容,再组合数据去进行调用,但是这样做好像已经偏离了WebService存在的意义。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C# 调用JAVA编写的webservices,返回的值不匹配,求大神
![图片说明](https://img-ask.csdn.net/upload/201603/19/1458361889_449352.jpg) 求大神
接口调用webservices出现ns1:Client.NoSOAPAction问题
写了一个javaweb项目,通过调用webservices,把webservices响应的报文提供给app端。使用的是HttpPost请求的webServices。 结果在pc浏览器直接输入javaweb接口地址调用webservices的时候,pc浏览器端报了:ns1:Client.NoSOAPAction。该如何解决,请大神赐教。
webservices服务端部署到服务器上客户端调用出现连接重置
webservices服务端部署到服务器上客户端调用出现连接重置,只有在哪个服务器上出现连接重置,在别的服务器和本地都没有问题
请问下各位大佬们,我在用ksoap2-Android调用web service服务时出现了stream closed的报错
小弟仿照网上的一个例子想用web service服务写一个查询天气的安卓应用。 但是在该服务的第三个方法时出现了stream closed的错误,百度没有找到结果, 麻烦各位大神帮我看下,以下是我的代码,在根据城市获取城市具体天气情况这个 方法时报了错 提供服务的URL是http://ws.webxml.com.cn/WebServices/WeatherWS.asmx ``` public class WebServicerUtil { // 定义Web Service的命名空间 static final String SERVICE_NS = "http://WebXml.com.cn/"; // 定义Web Service提供服务的URL static final String SERVICE_URL = "http://ws.webxml.com.cn/WebServices/WeatherWS.asmx"; // 调用远程 Web Service获取省份列表 public static List<String> getProvinceList() { /** * 调用远程Web Service的getRegionProvince方法: 获得中国省份、直辖市、地区和与之对应的ID * <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/"> <string>黑龙江,3113</string> <string>吉林,3114</string> <string>辽宁,3115</string> <string>内蒙古,3116</string> <string>河北,3117</string> <string>河南,3118</string> <string>山东,3119</string> <string>山西,31110</string> <string>江苏,31111</string> <string>安徽,31112</string> <string>陕西,31113</string> <string>宁夏,31114</string> <string>甘肃,31115</string> <string>青海,31116</string> <string>湖北,31117</string> <string>湖南,31118</string> <string>浙江,31119</string> <string>江西,31120</string> <string>福建,31121</string> <string>贵州,31122</string> <string>四川,31123</string> <string>广东,31124</string> <string>广西,31125</string> <string>云南,31126</string> <string>海南,31127</string> <string>新疆,31128</string> <string>西藏,31129</string> <string>台湾,31130</string> <string>北京,311101</string> <string>上海,311102</string> <string>天津,311103</string> <string>重庆,311104</string> <string>香港,311201</string> <string>澳门,311202</string> <string>钓鱼岛,311203</string> </ArrayOfString> */ String methodName = "getRegionProvince"; //获得中国省份、直辖市、地区和与之对应的ID // 创建HttpTransportSE传输对象,该对象用于调用Web Service操作 HttpTransportSE ht = new HttpTransportSE(SERVICE_URL); ht.debug = true; // 使用SOAP1.1协议创建Envelop对象 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); // 实例化SoapObject对象,传入所要调用的Web Service的命名空间,Web Service方法名 SoapObject soapObject = new SoapObject(SERVICE_NS, methodName); //将 soapObject对象设置为SoapSerializationEnvelope对象的传出SOAP消息 envelope.bodyOut = soapObject; /** * 因为什么这个网站是通过.NET对外提供Web Service的, * 因此设置与.Net提供的Web Service保持较好的兼容性 */ envelope.dotNet = true; try { // 调用Web Service ht.call(SERVICE_NS + methodName, envelope); if (envelope.getResponse() != null) { // 获取服务器响应返回的SOAP消息 SoapObject result = (SoapObject) envelope.bodyIn; SoapObject detail = (SoapObject) result.getProperty(methodName + "Result"); // 解析服务器响应的SOAP消息。 return parseProvinceOrCity(detail); } } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } return null; } // 根据省份获取城市列表 public static List<String> getCityListByProvince(String province) { /** * 调用的方法 * 获得支持的城市/地区名称和与之对应的ID 输入参数:theRegionCode = 省市、国家ID或名称,返回数据:一维字符串数组。 如:输入北京的theRegionCode:311101得到的返回结果为: <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/"> <string>北京,792</string> <string>昌平,785</string> <string>大兴,826</string> <string>房山,827</string> <string>怀柔,752</string> <string>门头沟,788</string> <string>密云,751</string> <string>平谷,756</string> <string>顺义,741</string> <string>通州,3409</string> <string>延庆,746</string> <string>海淀,742</string> <string>朝阳,3408</string> <string>丰台,795</string> <string>石景山,794</string> </ArrayOfString> */ String methodName = "getSupportCityString"; // 创建HttpTransportSE传输对象 HttpTransportSE ht = new HttpTransportSE(SERVICE_URL); ht.debug = true; // 实例化SoapObject对象 SoapObject soapObject = new SoapObject(SERVICE_NS, methodName); // 添加一个请求参数 soapObject.addProperty("theRegionCode", province); // 使用SOAP1.1协议创建Envelop对象 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.bodyOut = soapObject; // 设置与.Net提供的Web Service保持较好的兼容性 envelope.dotNet = true; try { // 调用Web Service ht.call(SERVICE_NS + methodName, envelope); if (envelope.getResponse() != null) { // 获取服务器响应返回的SOAP消息 SoapObject result = (SoapObject) envelope.bodyIn; SoapObject detail = (SoapObject) result.getProperty(methodName + "Result"); // 解析服务器响应的SOAP消息。 return parseProvinceOrCity(detail); } } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } return null; } // 解析服务器响应的SOAP消息。 private static List<String> parseProvinceOrCity(SoapObject detail) { List<String> result = new ArrayList<String>(); for (int i = 0; i < detail.getPropertyCount(); i++) { // 解析出每个省份 result.add(detail.getProperty(i).toString().split(",")[0]); } return result; } // 根据城市获取城市具体天气情况 public static SoapObject getWeatherByCity(String cityName) { String methodName = "getWeather"; HttpTransportSE ht = new HttpTransportSE(SERVICE_URL); ht.debug = true; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); SoapObject soapObject = new SoapObject(SERVICE_NS, methodName); soapObject.addProperty("theCityCode", cityName); envelope.bodyOut = soapObject; // 设置与.Net提供的Web Service保持较好的兼容性 envelope.dotNet = true; try { ht.call(SERVICE_NS + methodName, envelope); SoapObject result = (SoapObject) envelope.bodyIn; SoapObject detail = (SoapObject) result.getProperty(methodName + "Result"); return detail; } catch (Exception e) { e.printStackTrace(); } return null; } } ``` 下边是报错内容 ``` 2019-12-22 15:35:47.617 29228-29259/? W/System.err: java.io.IOException: Stream closed 2019-12-22 15:35:47.617 29228-29259/? W/System.err: at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:151) 2019-12-22 15:35:47.617 29228-29259/? W/System.err: at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 2019-12-22 15:35:47.617 29228-29259/? W/System.err: at java.io.BufferedInputStream.read1(BufferedInputStream.java:275) 2019-12-22 15:35:47.617 29228-29259/? W/System.err: at java.io.BufferedInputStream.read(BufferedInputStream.java:334) 2019-12-22 15:35:47.618 29228-29259/? W/System.err: at org.ksoap2.transport.HttpTransportSE.readDebug(HttpTransportSE.java:299) 2019-12-22 15:35:47.618 29228-29259/? W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:261) 2019-12-22 15:35:47.618 29228-29259/? W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118) 2019-12-22 15:35:47.618 29228-29259/? W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113) 2019-12-22 15:35:47.619 29228-29259/? W/System.err: at com.example.weather.WebServicerUtil.getWeatherByCity(WebServicerUtil.java:205) 2019-12-22 15:35:47.619 29228-29259/? W/System.err: at com.example.weather.MyWeather.showWeather(MyWeather.java:147) 2019-12-22 15:35:47.619 29228-29259/? W/System.err: at com.example.weather.MyWeather.access$200(MyWeather.java:21) 2019-12-22 15:35:47.619 29228-29259/? W/System.err: at com.example.weather.MyWeather$3$1.run(MyWeather.java:125) 2019-12-22 15:35:47.619 29228-29259/? W/System.err: at java.lang.Thread.run(Thread.java:761) 2019-12-22 15:35:47.619 29228-29259/? E/AndroidRuntime: FATAL EXCEPTION: Thread-4 Process: com.example.weather, PID: 29228 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object org.ksoap2.serialization.SoapObject.getProperty(int)' on a null object reference at com.example.weather.MyWeather.showWeather(MyWeather.java:150) at com.example.weather.MyWeather.access$200(MyWeather.java:21) at com.example.weather.MyWeather$3$1.run(MyWeather.java:125) at java.lang.Thread.run(Thread.java:761) 2019-12-22 15:35:47.684 29228-29251/? D/EGL_emulation: eglMakeCurrent: 0xa26a6a60: ver 3 0 (tinfo 0xa461a8d0) ```
xfire 调用 webservices 报错
调用别人写的webservices 但是报错 Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: java.lang.String.isEmpty()Z 本地客户端代码: Client client = new Client( new URL( "http://192.168.1.101/SettingRegistrationPort?wsdl")); Object[] results = client.invoke("yyghService", new Object[] { upXml }); System.out.println(results[0]);
webservices报连接重置
webservices服务端部署到本地和跟客户端同一个ip段的服务器上边没有问题,部署到与客户端不是同一个客户端会出现连接重置,但是用接口工具测试没有问题
java cxf webservices 动态调用sap的一个服务地址,地址是带用户名和密码的权限。
import java.net.URL; import javax.xml.namespace.QName; import org.apache.cxf.configuration.security.AuthorizationPolicy; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; import org.apache.cxf.transport.http.HTTPConduit; import org.apache.cxf.endpoint.Client; import org.apache.cxf.frontend.ClientProxy; import org.apache.cxf.transport.http.HTTPConduit; import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; public class testwebservices { public static void main(String[] args) { String url = "http://xxx?sap-client=100";//地址为一个sap的服务,带有用户名和密码权限。 JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory .newInstance(); //此处应该增加什么代码以便通过用户名密码权限,现在没设置回报401访问不通过 Client client = factory.createClient(url); try { Object[] d = { "test" }; QName opName = new QName("sdfdf", "sayHello"); Object[] obj = client.invoke(opName, d); System.out.println("resp:" + obj[0]); } catch (Exception e) { e.printStackTrace(); } } }
webservices调用QQ接口的问题请教
我用webservices调QQ在线状态。。我测试了下。。发现我用什么Q他都是在线的。包括我用已经入土的高中同学的Q也是在线的。我想请教下。调腾讯的Webservice接口到底返回的是他的在线状态,还是QQ是否有效,求大神指点![图片说明](https://img-ask.csdn.net/upload/201511/24/1448361619_215047.png)
C# 通过Exchange发送邮件问题
乙方,需要在其他公司内部服务器做一个用Exchange发送邮件的小程序 之前的账号没了,分不多了,全给出来了 代码如下: ``` ExchangeVersion version = ExchangeVersion.Exchange2010; ExchangeService service = new ExchangeService(version); ServicePointManager.ServerCertificateValidationCallback = delegate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; service.Credentials = new NetworkCredential(setting.Account, setting.Password, setting.Domain); service.TraceEnabled = true; if (!String.IsNullOrEmpty(setting.Server)) service.Url = new Uri(setting.Server); else service.AutodiscoverUrl(setting.Address, new Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverRedirectionUrlValidationCallback(url => true)); EmailMessage emessage = new EmailMessage(service); emessage.Subject = message.Subject; emessage.ToRecipients.AddRange(message.To.Select(o => o.Address)); emessage.Body = new MessageBody() { BodyType = BodyType.HTML, Text = (message.Body.Replace("\n", "<br />")).Replace("\r\n","<br />") }; emessage.SendAndSaveCopy(); ``` 如果用AutodiscoverUrl,直接就报错“The Autodiscover service couldn't be located" 他们IT帮配置的outlook上是可以正常发送邮件的,我发现他们设置了代理服务器,身份验证方式选的NTML。。我用代理服务器的地址加上“/EWS/Exchange.asmx”放进URL,报错就变成了 403 forbidden了。。。问甲方IT,他们IT说OUTLOOK能发就不管了。。。跪求
使用VB 调用WEBSERVICES报错
WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057 - WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: 所需资源没有可用数据。 HRESULT=0x1 WSDLREADER:LOADING OF THE WSDL FILE FAILED HRESULT=0X80070057:参数不正确。 CLIENT:ONE OF THE PARAMETERS SUPPLIED IS INVALID. HRESULT=0X80070057:参数不正确 1、不定期出现 2、关掉VB程序重新开启恢复正常 3、防火墙已经关闭,信任列表已经添加 4、请高手给予指点
关于动态调用webservice
使用CXF动态客户端调用webservice,代码如下: JaxWsDynamicClientFactory dynamicClient = JaxWsDynamicClientFactory .newInstance(); String wsdl = "http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl"; Client client = dynamicClient.createClient(wsdl); ServiceInfo serviceInfo=client.getEndpoint().getService().getServiceInfos().get(0); Set<QName> qSet=serviceInfo.getMessages().keySet(); Iterator<QName> qIter=qSet.iterator(); while(qIter.hasNext()){ QName q=qIter.next(); //包名 String packageName=JAXBUtils.namespaceURIToPackage(serviceInfo.getName().getNamespaceURI()); //类名 String className=JAXBUtils.nameToIdentifier(q.getLocalPart(),JAXBUtils.IdentifierType.INTERFACE); //获取生成代理类的全部完整路径 System.out.println("类="+packageName+"."+className); //加载类 **Object objArgs = Thread.currentThread().getContextClassLoader().loadClass(packageName+"."+className).newInstance();** } 加载类的时候报java.lang.ClassNotFoundException,但是同样的方法调用我本地发布的webservice的时候一切正常,问题出在哪里?
php调用Java编写的webservices接口出现以下错误
SoapFault Object ( [message:protected] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://192.168.121.199:8090/mpi/services' : Premature end of data in tag HTML line 1 [string:Exception:private] => [code:protected] => 0 [file:protected] => E:\PHP\WebServices3\ws.php [line:protected] => 4 [trace:Exception:private] => Array ( [0] => Array ( [file] => E:\PHP\WebServices3\ws.php [line] => 4 [function] => SoapClient [class] => SoapClient [type] => -> [args] => Array ( [0] => http://192.168.121.199:8090/mpi/services [1] => Array ( [trace] => 1 [exception] => 1 ) ) ) ) [previous:Exception:private] => [faultstring] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://192.168.121.199:8090/mpi/services' : Premature end of data in tag HTML line 1 [faultcode] => WSDL )
调用webservices异常处理:org.xml.sax.SAXException:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize. 可能是我代码的问题,2个参数,最后要取两张数据表,应该怎么获取 现在有一个项目,调用sap发布到webservice的接口:<s:element name="Get_HR_RYKQ"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="inper" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="psw" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="dt_rykq"> <s:complexType> <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/> <s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax"/> </s:sequence> </s:complexType> </s:element> <s:element minOccurs="0" maxOccurs="1" name="dt_ygcg"> <s:complexType> <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/> <s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax"/> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> <s:element name="Get_HR_RYKQResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Get_HR_RYKQResult" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="dt_rykq"> <s:complexType> <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/> <s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax"/> </s:sequence> </s:complexType> </s:element> <s:element minOccurs="0" maxOccurs="1" name="dt_ygcg"> <s:complexType> <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/> <s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax"/> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types> 自己写的代码: private String url="";//提供接口的地址 private String soapaction=""; //域名,这是在server定义的 public HRPInfo() { String getDate=""; String psw = ""; Service service=new Service(); try{ Call call=(Call)service.createCall(); call.setTargetEndpointAddress(url); call.setOperationName(new QName(soapaction,"Get_HR_RYKQ")); //设置要调用哪个方法 call.setEncodingStyle( null ); call.setProperty( org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE ); call.setProperty( org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE ); call.setSOAPVersion( org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS ); call.addParameter(new QName(soapaction,"inper"), //设置要传递的参数 org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.addParameter(new QName(soapaction,"psw"), //设置要传递的参数 org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.setReturnType(new QName(soapaction,"Get_HR_RYKQ","T_RYKQ"),Vector.class); //要返回的数据类型(自定义类型) call.setUseSOAPAction(true); call.setSOAPActionURI(soapaction + "Get_HR_RYKQ"); Vector v=(Vector)call.invoke(new Object[]{getDate,psw});//调用方法并传递参数 for(int i=0;i<v.size();i++) { System.out.println(v.get(i)); } }catch(Exception ex) { ex.printStackTrace(); } }
js 调用webservices?怎么实现啊
js 调用webservices?怎么实现啊 webservices 是Java写的。 我有段代码 function RequestWebService() { var URL = "http://localhost:8080/web_services/services/Login.jws?wsdl/getDomXML"; var data; data = '<?xml version="1.0" encoding="utf-8"?>'; data = data + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'; data = data + '<soap12:Body>'; data = data + '<HelloWorld xmlns="http://tempuri.org/" />'; data = data + '</soap12:Body>'; data = data + '</soap12:Envelope>'; //创建异步对象 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.Open("POST", URL, false); xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8"); //xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml"); //xmlhttp.SetRequestHeader("SOAPAction", "http://server/getDomXML"); xmlhttp.Send(data); //document.getElementById("data").innerHTML = xmlhttp.responseText; } 老报:faultString: no SOAPAction header! 如果打开xmlhttp.SetRequestHeader("SOAPAction", "http://server/getDomXML");又调用不到webservices
.NET的webservices服务怎么封装成一个固定的地址
.NET的webservices服务怎么封装成下面固定的地址 http://ip:port/services/DataSyncService?wsdl
client调用多个不同的基于HTTPS的webservices时,System.setProperty(javax.net.ssl.XXX)不起作用?
在同一个web应用里, 作为client访问基于HTTPS的webservices,client这边通过设置以下系统参数,是可以成功的, System.setProperty("javax.net.ssl.keyStore", keystoreFile); System.setProperty("javax.net.ssl.keyStorePassword",keystorePassword); System.setProperty("javax.net.ssl.trustStore", truststoreFile); System.setProperty("javax.net.ssl.trustStorePassword",truststorePassword); 但是,现在clinet还要访问另外一个也是基于HTTPS的web services,当然证书是不一样的, 这时client能再次设置这些系统参数为另外的值么?访问能成功么? 找到之前的一个相关的帖子,好像没有结论?http://www.iteye.com/problems/9652 多谢! :) [b]问题补充:[/b] 注释掉第一次的调用,第二次的调用是成功的,所以相关参数肯定是设置对了。 但是只要运行两次调用(调不同的webservice),即使中间clearProperty,还是不行。 还尝试过颠倒两次调用的顺序,结果也总是第二次的调用不成功。 :( [b]问题补充:[/b] to pJun,System.getProperty的结果是第二次设置的值。thx [b]问题补充:[/b] 是不是不应该采取这种设置系统参数的方式啊? 有其他方法么? 8) [b]问题补充:[/b] HTTPClient能不能动态的设置keystore/keystorepasswd/truststore/truststorepasswd呢? :wink: [b]问题补充:[/b] 换了一种方式,使用了http://hc.apache.org/httpclient-3.x/sslguide.html里提供的AuthSSLProtocolSocketFactory 调用的代码也是按照其注释写的,但是感觉只是调用了一下构造函数,并没有实质的动作,调用结果也是失败的:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 下面是代码: [code="java"] HttpClient client = new HttpClient(new MultiThreadedHttpConnectionManager()); client.getHttpConnectionManager().getParams().setSoTimeout(3000); client.getHttpConnectionManager().getParams().setMaxTotalConnections(5); Protocol authhttps = null; try { authhttps = new Protocol( "https", new AuthSSLProtocolSocketFactory( new URL( "file:/C:/Documents and Settings/test/Desktop/tmp/keystore"), "mypasswd", new URL( "file:/C:/Documents and Settings/test/Desktop/tmp/truststore"), "mypasswd"), 7743); } catch (MalformedURLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } client.getHostConfiguration().setHost(wsHost,wsPort, authhttps); DefaultHttpMethodRetryHandler retryhandler = new DefaultHttpMethodRetryHandler( recoverTimes, true); client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, retryhandler); PostMethod post = new PostMethod(wsURL); RequestEntity entity = new StringRequestEntity(requestXML, "text/xml", "UTF-8"); post.setRequestEntity(entity); HttpClientResponse httpClientResponse = null; try { int result = client.executeMethod(post); logger.log(Level.INFO, "result ="+ result); String responseXML = post.getResponseBodyAsString(); } catch (Exception ex) { logger.warning(ex.toString()); return; } finally { post.releaseConnection(); }[/code] JDK1.5 [b]问题补充:[/b] To lovewhzlq , //和///都试了一下,错误还是一样。 :x [b]问题补充:[/b] 最初重复设置两次系统参数时,也是抛这种类型的异常…… :? [b]问题补充:[/b] To pJun, 3个斜杠试过了,也不行。 是必须调用注册么? Protocol.registerProtocol("https", authhttps); 注不注册有区别么? 我再试试不用URL表示本地文件路径吧。。。。也许就能找到文件了。 [b]问题补充:[/b] 需要调用registerProtocol,否则AuthSSLProtocolSocketFactory不起作用。谢谢大家。
存储过程调用webservices,提示msxml3.dll 0x80070057
USE [dc-newtest1] GO /****** Object: StoredProcedure [dbo].[spHTTPRequest] Script Date: 2017/10/21 14:53:08 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[spHTTPRequest] @URI varchar(2000) = '', @methodName varchar(50) = '', @requestBody varchar(8000) = '', @SoapAction varchar(255), @UserName nvarchar(100), -- Domain\UserName or UserName @Password nvarchar(100), @responseText varchar(8000) output as SET NOCOUNT ON IF @methodName = '' BEGIN select FailPoint = 'Method Name must be set' return END set @responseText = 'FAILED' DECLARE @objectID int DECLARE @hResult int DECLARE @source varchar(255), @desc varchar(255) EXEC @hResult = sp_OACreate 'MSXML2.XMLHTTP', @objectID OUT IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'Create failed', MedthodName = @methodName goto destroy return END -- open the destination URI with Specified method EXEC @hResult = sp_OAMethod @objectID, 'open', null, @methodName, @URI, 'false', @UserName, @Password IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'Open failed', MedthodName = @methodName goto destroy return END -- set request headers EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'Content-Type', 'text/xml;charset=UTF-8' IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'SetRequestHeader failed', MedthodName = @methodName goto destroy return END -- set soap action EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'SOAPAction', @SoapAction IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'SetRequestHeader failed', MedthodName = @methodName goto destroy return END declare @len int set @len = len(@requestBody) EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'Content-Length', @len IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'SetRequestHeader failed', MedthodName = @methodName goto destroy return END -- send the request EXEC @hResult = sp_OAMethod @objectID, 'send', null, @requestBody IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'Send failed', MedthodName = @methodName goto destroy return END declare @statusText varchar(1000), @status varchar(1000) -- Get status text exec sp_OAGetProperty @objectID, 'StatusText', @statusText out exec sp_OAGetProperty @objectID, 'Status', @status out -- Get response text exec sp_OAGetProperty @objectID, 'responseText', @responseText out IF @hResult <> 0 BEGIN EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT SELECT hResult = convert(varbinary(4), @hResult), source = @source, description = @desc, FailPoint = 'ResponseText failed', MedthodName = @methodName goto destroy return END destroy: exec sp_OADestroy @objectID SET NOCOUNT OFF declare @xmlOut varchar(8000) Declare @RequestText as varchar(8000); set @RequestText= '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.core.cifagent.dc.unitever.com/"> <soapenv:Header/> <soapenv:Body> <web:sendMessage> <!--Optional:--> <name>school</name> <!--Optional:--> <id>1111</id> </web:sendMessage> </soapenv:Body> </soapenv:Envelope>' exec spHTTPRequest 'http://localhost:8080/webservice/ws/Server', 'POST', @RequestText, '"sendNewAddMessage"', '', '', @xmlOut out
ajax调用webServices不成功。求指教
var xhr; if(window.ActiveXObject){ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); } function sendMsg(){ var name = document.getElementById('name').value; //服务的地址 var wsUrl = 'http://localhost:9001/Service/ServiceHello'; //请求体http://schemas.xmlsoap.org/wsdl/soap/ var soap = '<?xml version="1.0" encoding="utf-8"?>' + '<soap12:Envelope xmlns:soap12="http://schemas.xmlsoap.org/soap/envelope/"' + 'xmlns:q0="http://www.chtest.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"' + 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap12:Body> <q0:sayHello><arg0>'+ name+'</arg0> </q0:sayHello> </soap12:Body> </soap12:Envelope>'; //打开连接 xhr.open('POST',wsUrl,true); //重新设置请求头 xhr.setRequestHeader("Content-Type","text/xml;charset=UTF-8"); //设置回调函数 xhr.onreadystatechange = _back; //发送请求 xhr.send(soap); } ![图片说明](https://img-ask.csdn.net/upload/201609/02/1472781495_696361.png)
关于java webservices 和.net webservices 发布后的问题。
.net 发布webservices 有详细的描述信息 可以写入调用、如下图 [img]http://dl.iteye.com/upload/attachment/594171/e2f0839c-7512-3a15-87ce-56d67b97f10c.jpg[/img] java 发布webservices 没有正对webservices有详细的描述信息 [img]http://dl.iteye.com/upload/attachment/594173/f3195059-7226-3bab-af60-5896ef1fc6ed.jpg[/img] 没有描述信息 java中怎么可以像.net那样。 第三方调用很不方便。
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Android性能优化(4):UI渲染机制以及优化
文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView 在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...
微服务中的Kafka与Micronaut
今天,我们将通过Apache Kafka主题构建一些彼此异步通信的微服务。我们使用Micronaut框架,它为与Kafka集成提供专门的库。让我们简要介绍一下示例系统的体系结构。我们有四个微型服务:订单服务,行程服务,司机服务和乘客服务。这些应用程序的实现非常简单。它们都有内存存储,并连接到同一个Kafka实例。 我们系统的主要目标是为客户安排行程。订单服务应用程序还充当网关。它接收来自客户的请求...
致 Python 初学者们!
作者| 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器,关于Tomcat的所有属性都在ServerProperties配置类中。同时,也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置,网络上有大量的资料,但都是基于SpringBoot1.5.x版本,并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫, 去获取暂时用不上的教程 import threading import time import pandas as pd import requests import re from threading import Thread, Lock # import urllib.request as request # req=urllib.request.Requ...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
HTML5适合的情人节礼物有纪念日期功能
前言 利用HTML5,css,js实现爱心树 以及 纪念日期的功能 网页有播放音乐功能 以及打字倾诉感情的画面,非常适合情人节送给女朋友 具体的HTML代码 具体只要修改代码里面的男某某和女某某 文字段也可自行修改,还有代码下半部分的JS代码需要修改一下起始日期 注意月份为0~11月 也就是月份需要减一。 当然只有一部分HTML和JS代码不够运行的,文章最下面还附加了完整代码的下载地址 &lt;!...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问