我正在尝试从荷兰政府网站下载一个XML文件。我希望在这里找到一些帮助,因为1,政府组织不为他们提供的web服务的使用提供支持,2我找不到关于我得到的错误消息的任何东西。java.net.UnknownHostException:有谁知道这个错误的原因是什么,以及如何解决它?
我有一个有效的UID和PW,我可以用它登录网站并手动下载4-5 5GB的XML文件。我正在使用下面的代码。数据_NULL中的SOAP信封和PROC中使用的URL是从were服务的文档中剪切和粘贴的,并且在信封消息的情况下,针对UID和PW进行了修改。
OPTIONS MPRINT MLOGIC SYMBOLGEN;
FILENAME request "&DATROOT\REQUEST.xml";
FILENAME response "&DATROOT\Response.xml";
DATA _NULL_;
FILE request;
INPUT;
PUT _INFILE_;
DATALINES4;
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:epb="..."
xmlns:epb1="...">
<soapenv:Header>
<epb:EpbdDownloadMutationFileHeader>
<epb:username>xxxxxx</epb:username>
<epb:password>XXXXXXXXXXX</epb:password>
</epb:EpbdDownloadMutationFileHeader>
</soapenv:Header>
<soapenv:Body>
<epb1:DownloadMutationFile>
<epb1:request>
<epb1:mutationType>Complete</epb1:mutationType>
</epb1:request>
</epb1:DownloadMutationFile>
</soapenv:Body>
</soapenv:Envelope>
;;;;
RUN;
%LET RESPONSE=RESPONSE;
PROC SOAP IN=request
OUT=&RESPONSE
URL="https://webapplicaties.agro.nl/DownloadMutationFile/EpbdDownloadMutationFile.asmx"
wssusername="xxxxxx"
wsspassword="XXXXXXXXXXX";
RUN;
生成的日志为:
24 PROC SOAP IN=request
25 OUT=&RESPONSE
SYMBOLGEN: Macro variable RESPONSE resolves to RESPONSE
26 URL="https://webapplicaties.agro.nl/DownloadMutationFile/EpbdDownloadMutationFile.asmx"
27 wssusername="xxxxxx"
28 wsspassword=XXXXXXXXXXX;
29 RUN;
ERROR: org.springframework.ws.client.WebServiceIOException: I/O error: webapplicaties.agro.nl; nested exception is
java.net.UnknownHostException: webapplicaties.agro.nl
发布于 2016-09-30 19:31:39
会不会是因为你在代理服务器后面?您可以访问其他SOAP服务吗?proc soap中有一些选项(PROXYHOST、PROXYPORT等),您可以使用有文档记录的here
当在EG和Base中运行时,我还发现了proc http不同的日志结果--你可以尝试一下(可能是因为使用的java版本不同)。
https://stackoverflow.com/questions/39788671
复制相似问题