热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【求助】.net1.1调用webservice返回二维数组时提示“XML文档(1,378)中有错

问题具体描述请访问地:http:www.cnblogs.comdreamofarchive201008311813534.html最近,由于业务需求,项目需要调用其他单位提供的

问题


具体描述请访问地:http://www.cnblogs.com/dreamof/archive/2010/08/31/1813534.html

  最近,由于业务需求,项目需要调用其他单位提供的接口来同步数据,对方提供的接口是java开发的WebService,返回的数据是二维数组。我们的项目是05年开发的.net1.1版本,在调用对方接口获取返回的二维数组数据时,提示“XML 文档(1, 378)中有错误”。经测试无论在哪个框架下添加引用对方服务时,生成的CS文件返回的都是一维数组,而并非二维数组,在.net2.0以上版本,强制性修改CS文件的方法来返回二维数组可以得到对方的数据,但在.net1.1版本,强制性修改CS文件的方法来返回二维数组时就提示“XML 文档(1, 378)中有错误”。上google搜索该问题,部分网友说.net1.1调用WebService不支持二维数组,不知道是否真是这样,如果支持二维数组,请问各位园友这个问题如何解决?期待园友的解答,谢谢!

具体描述请访问地址:http://www.cnblogs.com/dreamof/archive/2010/08/31/1813534.html

 

xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://register.webservice.hnisi.com.cn" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://register.webservice.hnisi.com.cn" xmlns:intf="http://register.webservice.hnisi.com.cn" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<wsdl:types>
<schema targetNamespace="http://register.webservice.hnisi.com.cn" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOfString2D">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[][]"/>
restriction>
complexContent>
complexType>
schema>
wsdl:types>

<wsdl:message name="registerRequest">

<wsdl:part name="userID" type="soapenc:string"/>

<wsdl:part name="password" type="soapenc:string"/>

<wsdl:part name="citizenInfos" type="impl:ArrayOfString2D"/>

wsdl:message>

<wsdl:message name="findRegisterQuotaResponse">

<wsdl:part name="FindRegisterQuotaReturn" type="impl:ArrayOfString2D"/>

wsdl:message>

<wsdl:message name="findRegisterQuotaRequest">

<wsdl:part name="userID" type="soapenc:string"/>

<wsdl:part name="password" type="soapenc:string"/>

<wsdl:part name="annual" type="soapenc:string"/>

<wsdl:part name="departmentCode" type="soapenc:string"/>

wsdl:message>

<wsdl:message name="registerResponse">

<wsdl:part name="RegisterReturn" type="impl:ArrayOfString2D"/>

wsdl:message>

<wsdl:portType name="RegisterService">

<wsdl:operation name="register" parameterOrder="userID password citizenInfos">

<wsdl:input message="impl:registerRequest" name="registerRequest"/>

<wsdl:output message="impl:registerResponse" name="registerResponse"/>

wsdl:operation>

<wsdl:operation name="findRegisterQuota" parameterOrder="userID password annual departmentCode">

<wsdl:input message="impl:findRegisterQuotaRequest" name="findRegisterQuotaRequest"/>

<wsdl:output message="impl:findRegisterQuotaResponse" name="findRegisterQuotaResponse"/>

wsdl:operation>

wsdl:portType>

<wsdl:binding name="RegisterServiceSoapBinding" type="impl:RegisterService">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="register">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="registerRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://register.webservice.hnisi.com.cn" use="encoded"/>

wsdl:input>

<wsdl:output name="registerResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://register.webservice.hnisi.com.cn" use="encoded"/>

wsdl:output>

wsdl:operation>

<wsdl:operation name="findRegisterQuota">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="findRegisterQuotaRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://register.webservice.hnisi.com.cn" use="encoded"/>

wsdl:input>

<wsdl:output name="findRegisterQuotaResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://register.webservice.hnisi.com.cn" use="encoded"/>

wsdl:output>

wsdl:operation>

wsdl:binding>

<wsdl:service name="RegisterService">

<wsdl:port binding="impl:RegisterServiceSoapBinding" name="RegisterService">

<wsdlsoap:address location="http://172.16.70.40:7001/rhsh/services/RegisterService"/>

wsdl:port>

wsdl:service>

wsdl:definitions>

 

 修改后的代码如下:

//string uri = "http://172.16.70.40:7001/rhsh/services/RegisterService"; //修改前,原因:此地址无法访问
string uri = "http://172.16.70.40:7001/rhsh/services/RegisterService?wsdl"; //修改后
HttpWebRequest hwRequest = (HttpWebRequest)WebRequest.Create(uri);
// 下面这些的参数,以及不包括在这里的参数,也就是
// HTTP Headers 中包含的参数的具体值需要根据对方
// 服务器的设置而定。
hwRequest.Method = "POST";
hwRequest.ContentType
= "text/xml;charset=UTF-8";
hwRequest.Headers.Add(
"SOAPAction", "*"); // 不知道,假装不知道。
hwRequest.UserAgent = "Jakarta Commons-HttpClient/3.1";
//hwRequest.Host = "register.webservice.hnisi.com.cn"; //没有Host的属性
hwRequest.Timeout = 1000 * 60 * 3;
hwRequest.KeepAlive
= false;
// 对方是 Apache
hwRequest.ServicePoint.Expect100Continue = false;
// 从 FindRegisterRequest.xml 读取请求数据。
// 因为我们需要修改请求中的一些参数,也就是输入参数,
// 因此,我们使用 XmlDocument 来简化操作。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(
"RegisterService.xml"); //报错,提示找不到文件RegisterService.xml
XmlNode userIDNode = xmlDoc.GetElementsByTagName("userID")[0];
userIDNode.InnerText
= "test1";
XmlNode pwdNode
= xmlDoc.GetElementsByTagName("password")[0];
pwdNode.InnerText
= "2222";
XmlNode annualNode
= xmlDoc.GetElementsByTagName("annual")[0];
annualNode.InnerText
= "2010";
XmlNode depCodeNode
= xmlDoc.GetElementsByTagName("departmentCode")[0];
depCodeNode.InnerText
= "S44010300";
byte[] sendBuffer = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);
hwRequest.ContentLength
= sendBuffer.Length;
// 写 POST 数据
using (Stream reqStream = hwRequest.GetRequestStream())
reqStream.Write(sendBuffer,
0, sendBuffer.Length);
// 接受响应
HttpWebResponse hwResponse = (HttpWebResponse)hwRequest.GetResponse();
try
{
using (Stream resStream = hwResponse.GetResponseStream())
{
using (StreamReader sr = new StreamReader(resStream))
{
// 如果上面都没有出错的话,这里就读到结果了,
// 我只是简单的转换成 string,就是方便查看,
// 如果确切的知道响应的 SOAP 格式,就可以读取出来。
string xmlText = sr.ReadToEnd();
}
}
}
finally
{
hwResponse.Close();
}

 得到的XML数据如下:

xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">
>
<ns1:findRegisterQuotaResponse soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns1=\"http://register.webservice.hnisi.com.cn\">
=\"soapenc:string[][3]\" xsi:type=\"soapenc:Array\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">
=\"soapenc:string[12]\" xsi:type=\"soapenc:Array\">
=\"soapenc:string\">ID
=\"soapenc:string\">YEAR
=\"soapenc:string\">KIND
=\"soapenc:string\">TOTAL
=\"soapenc:string\">BEGINNUMBER
=\"soapenc:string\">ENDNUMBER
=\"soapenc:string\">CURRENTPOINTER
=\"soapenc:string\">BEGINTIME
=\"soapenc:string\">ENDTIME
=\"soapenc:string\">USINGDEPT
=\"soapenc:string\">YRDW
=\"soapenc:string\">ZY
>
<FindRegisterQuotaReturn soapenc:arrayType=\"soapenc:string[12]\" xsi:type=\"soapenc:Array\">
=\"soapenc:string\">RHSH440120100512006766
=\"soapenc:string\">2010
=\"soapenc:string\">20
=\"soapenc:string\">50000
=\"soapenc:string\">1
=\"soapenc:string\">50000
=\"soapenc:string\">1
=\"soapenc:string\">20100512000000
=\"soapenc:string\">20110101000000
=\"soapenc:string\">S44010300
=\"soapenc:string\" xsi:nil=\"true\"/>
=\"soapenc:string\" xsi:nil=\"true\"/>
>
<FindRegisterQuotaReturn soapenc:arrayType=\"soapenc:string[12]\" xsi:type=\"soapenc:Array\">
=\"soapenc:string\">RHSH440120100512006763
=\"soapenc:string\">2010
=\"soapenc:string\">10
=\"soapenc:string\">50000
=\"soapenc:string\">20001
=\"soapenc:string\">70000
=\"soapenc:string\">20002
=\"soapenc:string\">20100512000000
=\"soapenc:string\">20110101000000
=\"soapenc:string\">S44010300
=\"soapenc:string\" xsi:nil=\"true\"/>
=\"soapenc:string\" xsi:nil=\"true\"/>
>
FindRegisterQuotaReturn>
ns1:findRegisterQuotaResponse>
soapenv:Body>
soapenv:Envelope>"

 

最终代码和数据如下:

string uri = "http://172.16.70.40:7001/rhsh/services/RegisterService?wsdl";
HttpWebRequest hwRequest
= (HttpWebRequest)WebRequest.Create(uri);
// 下面这些的参数,以及不包括在这里的参数,也就是
// HTTP Headers 中包含的参数的具体值需要根据对方
// 服务器的设置而定。
hwRequest.Method = "POST";
hwRequest.ContentType
= "text/xml;charset=UTF-8";
hwRequest.Headers.Add(
"SOAPAction", "*");
hwRequest.UserAgent
= "Jakarta Commons-HttpClient/3.1";
hwRequest.Timeout
= 1000 * 60 * 3;
hwRequest.KeepAlive
= false;
// 对方是 Apache
hwRequest.ServicePoint.Expect100Continue = false;
// 从 FindRegisterRequest.xml 读取请求数据。
// 因为我们需要修改请求中的一些参数,也就是输入参数,
// 因此,我们使用 XmlDocument 来简化操作。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(
"RegisterService.xml");
XmlNode userIDNode
= xmlDoc.GetElementsByTagName("userID")[0];
userIDNode.InnerText
= "test1";
XmlNode pwdNode
= xmlDoc.GetElementsByTagName("password")[0];
pwdNode.InnerText
= "2222";
XmlNode annualNode
= xmlDoc.GetElementsByTagName("annual")[0];
annualNode.InnerText
= "2010";
XmlNode depCodeNode
= xmlDoc.GetElementsByTagName("departmentCode")[0];
depCodeNode.InnerText
= "S44010300";
byte[] sendBuffer = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);
hwRequest.ContentLength
= sendBuffer.Length;
// 写 POST 数据
using (Stream reqStream = hwRequest.GetRequestStream())
reqStream.Write(sendBuffer,
0, sendBuffer.Length);
// 接受响应
HttpWebResponse hwResponse = (HttpWebResponse)hwRequest.GetResponse();
try
{
using (Stream resStream = hwResponse.GetResponseStream())
{
using (StreamReader sr = new StreamReader(resStream))
{
// 如果上面都没有出错的话,这里就读到结果了,
// 我只是简单的转换成 string,就是方便查看,
// 如果确切的知道响应的 SOAP 格式,就可以读取出来。
string xmlText = sr.ReadToEnd();
XmlDocument xdDoc
= new XmlDocument();
xdDoc.LoadXml(xmlText);
XmlNode quotaResponse
= xdDoc.DocumentElement.FirstChild.FirstChild;
if (!quotaResponse.HasChildNodes || quotaResponse == null)
return;
XmlNode quotaReturn
= quotaResponse.FirstChild;
if (!quotaReturn.HasChildNodes || quotaReturn == null)
return;
string[][] array = new string[quotaReturn.ChildNodes.Count][];
for (int i = 0, j = array.Length; i < j; i++)
{
XmlNodeList nodes
= quotaReturn.ChildNodes[i].ChildNodes;
array[i]
= new string[nodes.Count];
for (int m = 0, n = array[i].Length; m < n; m++)
{
array[i][m]
= nodes[m].InnerText;
}
}

Response.Write(
"

"1\">");
for (int i = 0; i < array.Length; i++)
{
Response.Write(
"");
string[] a = array[i];
for (int j = 0; j < a.Length; j++)
{
Response.Write(
"");
}
Response.Write(
"");
}
Response.Write(
"
" + Convert.ToString(a[j]) + " 
");
}
}
}
finally
{
hwResponse.Close();
}



最佳回答


你有测试用的服务地址吗?

反正,手动修改代码是可以成功的,就是把接口定义为返回 string .

 

没找到免费的,这里凑合着用吧!

 

string uri = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx";

HttpWebRequest hwRequest
= (HttpWebRequest)WebRequest.Create(uri);

// 下面这些的参数,以及不包括在这里的参数,也就是
// HTTP Headers 中包含的参数的具体值需要根据对方
// 服务器的设置而定。
hwRequest.Method = "POST";
hwRequest.ContentType
= "text/xml; charset=utf-8";
hwRequest.Headers.Add(
"SOAPAction", "http://WebXml.com.cn/getWeather");
hwRequest.UserAgent
= "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
hwRequest.Host
= "webservice.webxml.com.cn";
hwRequest.Timeout
= 1000 * 60 * 3;

// 从 GetWeatherRequest.xml 读取请求数据。
// 因为我们需要修改请求中的一些参数,也就是输入参数,
// 因此,我们使用 XmlDocument 来简化操作。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(
"GetWeatherRequest.xml");

XmlNode cityCodeNode
=xmlDoc.GetElementsByTagName("theCityCode")[0];
cityCodeNode.InnerText
= "北京";

XmlNode userIDNode
= xmlDoc.GetElementsByTagName("theUserID")[0];
userIDNode.InnerText
= "没有用户名";

byte[] sendBuffer = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);
hwRequest.ContentLength
= sendBuffer.Length;

// 写 POST 数据
using(Stream reqStream = hwRequest.GetRequestStream())
reqStream.Write(sendBuffer,
0, sendBuffer.Length);

// 接受响应
HttpWebResponse hwResponse = (HttpWebResponse)hwRequest.GetResponse();
try
{
using (Stream resStream = hwResponse.GetResponseStream())
{
using (StreamReader sr = new StreamReader(resStream))
{
// 如果上面都没有出错的话,这里就读到结果了,
// 我只是简单的转换成 string,就是方便查看,
// 如果确切的知道响应的 SOAP 格式,就可以读取出来。
string xmlText = sr.ReadToEnd();
}
}
}
finally
{
hwResponse.Close();
}

 

GetWeatherRequest.xml 的定义如下:

 

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getWeather xmlns="http://WebXml.com.cn/">
<theCityCode>stringtheCityCode>
<theUserID>stringtheUserID>
getWeather>
soap:Body>
soap:Envelope>

 

 

根据你的WSDL修改,有些Header拿不准,你最好抓个包,以确定具体的值

 

string uri = "http://172.16.70.40:7001/rhsh/services/RegisterService";

HttpWebRequest hwRequest
= (HttpWebRequest)WebRequest.Create(uri);

// 下面这些的参数,以及不包括在这里的参数,也就是
// HTTP Headers 中包含的参数的具体值需要根据对方
// 服务器的设置而定。
hwRequest.Method = "POST";
hwRequest.ContentType
= "text/xml;charset=UTF-8";
hwRequest.Headers.Add(
"SOAPAction", "*"); // 不知道,假装不知道。
hwRequest.UserAgent = "Jakarta Commons-HttpClient/3.1";
hwRequest.Host
= "register.webservice.hnisi.com.cn";
hwRequest.Timeout
= 1000 * 60 * 3;
hwRequest.KeepAlive
= false;

// 对方是 Apache
hwRequest.ServicePoint.Expect100Continue = false;

// 从 FindRegisterRequest.xml 读取请求数据。
// 因为我们需要修改请求中的一些参数,也就是输入参数,
// 因此,我们使用 XmlDocument 来简化操作。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(
"FindRegisterRequest.xml");

XmlNode userIDNode
= xmlDoc.GetElementsByTagName("userID")[0];
userIDNode.InnerText
= "不知道是啥用户名";

XmlNode pwdNode
= xmlDoc.GetElementsByTagName("password")[0];
pwdNode.InnerText
= "更不知道密码";

XmlNode annualNode
= xmlDoc.GetElementsByTagName("annual")[0];
annualNode.InnerText
= "这是个啥东西?";

XmlNode depCodeNode
= xmlDoc.GetElementsByTagName("departmentCode")[0];
depCodeNode.InnerText
= "那个部门?";

byte[] sendBuffer = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);
hwRequest.ContentLength
= sendBuffer.Length;

// 写 POST 数据
using (Stream reqStream = hwRequest.GetRequestStream())
reqStream.Write(sendBuffer,
0, sendBuffer.Length);

// 接受响应
HttpWebResponse hwResponse = (HttpWebResponse)hwRequest.GetResponse();
try
{
using (Stream resStream = hwResponse.GetResponseStream())
{
using (StreamReader sr = new StreamReader(resStream))
{
// 如果上面都没有出错的话,这里就读到结果了,
// 我只是简单的转换成 string,就是方便查看,
// 如果确切的知道响应的 SOAP 格式,就可以读取出来。
string xmlText = sr.ReadToEnd();
}
}
}
finally
{
hwResponse.Close();
}

 

请求消息格式文件:

 

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://register.webservice.hnisi.com.cn">
<soapenv:Header/>
<soapenv:Body>
<reg:findRegisterQuota soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<userID xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?userID>
<password xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?password>
<annual xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?annual>
<departmentCode xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?departmentCode>
reg:findRegisterQuota>
soapenv:Body>
soapenv:Envelope>

 

在将响应读成字符串后,用下面方法创建string 数组,在原来代码这句之后             string xmlText = sr.ReadToEnd();                   

 

XmlDocument xdDoc = new XmlDocument();
xdDoc.LoadXml(xmlText);

XmlNode quotaResponse
= xdDoc.DocumentElement.FirstChild.FirstChild;
if (!quotaResponse.HasChildNodes || quotaResponse == null)
return;

XmlNode quotaReturn
= quotaResponse.FirstChild;
if (!quotaReturn.HasChildNodes || quotaReturn == null)
return;

string[][] array = new string[quotaReturn.ChildNodes.Count][];
for (int i = 0, j = array.Count(); i < j; i++)
{
XmlNodeList nodes
= quotaReturn.ChildNodes[i].ChildNodes;
array[i]
= new string[nodes.Count];

for (int m = 0, n = array[i].Count(); m < n; m++)
{
array[i][m]
= nodes[m].InnerText;
}
}


推荐阅读
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 基于Axis、XFire、CXF的webservice客户端调用示例
    本文介绍了如何使用Axis、XFire、CXF等工具来实现webservice客户端的调用,以及提供了使用Java代码进行调用的示例。示例代码中设置了服务接口类、地址,并调用了sayHello方法。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
author-avatar
好好_haohao_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有