调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable

添加web引用会在相应项目的app.cofig文件中产生如下代码:

<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="BS.EAP.BizMgt.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>

………………

<BS.EAP.BizMgt.Properties.Settings>
            <setting name="BS_EAP_BizMgt_IPersonCard_PetroChina" serializeAs="String">
                <value>http://10.27.213.172:8080/PetroChinaService/PetroChina</value>
            </setting>
            <setting name="BS_EAP_BizMgt_GetVisitService_ReportSSO" serializeAs="String">
                <value>http://10.88.248.111:88/dm/cxf-services/ReportSSO</value>
            </setting>
        </BS.EAP.BizMgt.Properties.Settings>
    </applicationSettings>
</configuration>

红色字部分是所引用web服务地址:http://10.88.248.111/dm/cxf-services/ReportSSO

要手动增加上端口88问题解决

以下内容应用自:http://www.cnblogs.com/BruceLee521/archive/2012/03/28/2420776.html

Webservice 通过映射端口发布到外网,调用报错解决

环境:

Webservice部署到内网机器,地址:http://aaa.bbb.ccc.ddd/xkzjk/LicensesService.asmx

通过端口影射到外网地址:http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx

同事碰到的第一个问题:

在Visual Studio中引用Webservice报如下错误:

在Visual Studio 2008下报如下错误:

Unable to download following files from.

http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx?wsdl

Do you want to skip these files and continue?

在Visual Studio 2010报如下错误:

An error(Details) occurred while attempting to find services at ‘http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx

元数据包含无法解析的引用:“http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx?wsdl”。
下载“http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx?wsdl”时出错。
请求因 HTTP 状态 503 失败: Service Temporarily Unavailable。
元数据包含无法解析的引用:“http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx?wsdl”。
元数据包含无法解析的引用:“http://eee.fff.ggg.hhh:88/xkzjk/LicensesService.asmx?wsdl”。
If the service is defined in the current solution, try building the solution and adding the service reference again.

原因:

开发人员对Webservice不懂,WSDL不知道是干什么的,引用的地址少了?wsdl,第一个问题解决。

同事碰到的第二个问题:

调用具体webservice方法时时报如下错误

请求因 HTTP 状态 503 失败: Service Temporarily Unavailable。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
异常详细信息: System.Net.WebException: 请求因 HTTP 状态 503 失败: Service Temporarily Unavailable。

分析:

具体去看异常内部信息:

ResponseUri={http://eee.fff.ggg.hhh/xkzjk/LicensesService.asmx},开始没仔细看,后来找了很久,发现少了外网映射的端口88。

原因:

在Visual Studio 2008中引用Webservice时,在Web.config中自动增加如下节

<applicationSettings>
    <Test.Web.Properties.Settings>
      <setting name="Test_Web_LicService_LicensesService" serializeAs="String">
        <value>http://eee.fff.ggg.hhh/xkzjk/LicensesService.asmx</value>
      </setting>
    </Test.Web.Properties.Settings>
  </applicationSettings>

在工程的Settings.settings文件中增加了App的设置,代理类会使用该设置的变量。

在Visual Studio 2010中引用Webservice时,在Web.config中自动增加如下节

endpoint address="http://eee.fff.ggg.hhh/xkzjk/LicensesService.asmx"
        binding="basicHttpBinding" bindingConfiguration="LicensesServiceSoap"
        contract="ServiceReference1.LicensesServiceSoap" name="LicensesServiceSoap" />

定义了Webservice的一些基本信息。

请注意Visual Studio都把端口去掉了。手动在Web.config里增加上88端口问题解决。

总结:第一个问题是因为对Webservice的原理不明白。第二个对Visual Studio引用Webservice的原理不清楚,只会用,现在很多人对Webservice的一些基本理论知识都不明白,就是上来就用Visual Studio引用,然后调用。

调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable

时间: 2024-08-27 18:19:42

调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable的相关文章

Java调用doNet webService方法

doNet的webService 浏览器访问测试地址:http://192.168.4.17/JLWWS/sendCommand.asmx,出现 点击getDeviceValue方法,出现 上图的xml代码再贴一遍: POST /JLWWS/sendCommand.asmx HTTP/1.1 Host: 192.168.4.17 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tem

JAVA调用mysql数据操作时出现错误:impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.&#39;

使用mysql做持久化报错:Cannot execute statement: impossible to write to binary log since BINLOG_FORM ActiveMQ中如果使用mysql innodb的同时,开启了binlog,那么在ack消息的时候,日志里就可会报错:java.sql.SQLException: Cannot execute statement: binlogging impossible since BINLOG_FORMAT = STATE

Magento Service Temporarily Unavailable解决方法

插件升级错误或安装失败时 会出现Service Temporarily Unavailable错误,使网站前台后台都无法显示. 在操作完成的情况下,仍然出现这个错误时可以采用以下方法: 1.删除网站站点根目录下的maintenance.flag,如果没有刷新一下应该会出现: 2.删除网站var/cache文件夹中的内容,如果删除了cache文件夹可能会出现cache_dir不可写的错误,还要手动创建该文件夹,并chmod 777 3.这时网站已经可以正常显示了

SharePoint2010 HTTP Error 503. The service is unavailable 解决方法

1.更改系统管理员用户密码前提 因为更改系管理员用户密码会影响到 "SharePoint2010"正常运行,所在尽量不要更改系统管理员用户的密码, 必须更改密码的话,需要注意以两点:  1.1系统密码设置要求: 密码必须包含: 1)大写英文字母A-Z. 2)小写字母a-z. 3)数字0-9.非字母字符(!, $, #, %) 4)尽量不要使用 "-._". 1.2.IIS管理器应用程序池: 在应用池中的程序是关联着"系统域管理员用户"密码,又因应

ionic 调用restful API services时全局错误处理的实现 或自定义错误处理的实现

往往我们的ionic程序需要调用API Service. 比如天气,地图等等.当这些API Service 不稳定或者不可访问时,我们可以通过在注册一个自定义的ErrorHandler, 来处理此类错误. 1.   将自定义错误处理类作为provider,  也就是Service.   在终端使用命令: ionic g provider GlobalErrorHandler .  ionic generate 命令行定义可以参考此处 2.     实现GlobalErrorHandler, 完整

restful webService 方法跳转错误的解决方案

最近在call restful webService的时候遇到问题,并没有跳转到我想调用的方法里面去.比如我明明call的是add()方法,结果它跳到了delete()方法里面去.还有就是在同一次session里面,我无论call什么方法,它调用的都是同一个方法(而且我测试下来这个方法是随机的-_-#). 主程序是这样: try{     ClientRequestFactory crf = new ClientRequestFactory();     Test test =  = crf.c

android RadioGroup调用check(id)方法时,onCheckedChanged方法被执行多次解决办法

如题,本来只想在切换选项后同步下菜单项,结果onCheckedChanged方法执行多次,导致程序出现错误.查了半天,结果也没找出好的解决方法.最后,只能根据http://blog.csdn.net/piglovesula/article/details/9820521 供的方法,用radioButton.setChecked(true)方法替换了.我是用以下方法替换的,如果高人有好方法,求指教: for (int i = 0; i <group.getChildCount(); i++) { 

idea创建web项目,不能自动导入tomcat包,导致调用request的方法时,无法正常调用

问题现象 分析原因 reques不能正常调用它的各种方法是因为没有导入tomcat包,所以不能正常调用request对象中的各种方法. 解决办法 ================== ================= =================== ========================= 点击ok,直至保存设置之后 原文地址:https://www.cnblogs.com/liu1275271818/p/11442141.html

php调用c# webservice方法

第一次用,通过,还没深入了解. 首先在php.ini中启用extension=php_soap.dll,重启apache. 1 $Client=new SoapClient("url?wsdl"); 2 3 if($Client){ 4 //解决中文乱码问题 5 $client->soap_defencoding = 'utf-8'; 6 $client->decode_utf8 = false; 7 $client->xml_encoding = 'utf-8';