问题标签 [soapexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
996 浏览

c# - 如何扩展 SoapException

我被困在试图扩展SoapException以添加两个额外的字符串属性。
我有一个应该抛出的 Web 服务方法,CustomSoapExceptionSoapExceptionCustomSoapException在 Web 服务客户端中捕获它。但是,当我尝试通过向我的 WebMethodCustomSoapException添加属性来向 Web 服务客户端公开时,我的Web 服务在启动时失败并显示以下消息:[XmlInclude(typeof(CustomSoapException))]ASMX

无法序列化 System.Collections.IDictionary 类型的成员 System.Exception.Data,因为它实现了 IDictionary。

如果有人可以向我展示如何正确序列化我内部的类型Data属性,以便它可以正确地暴露给 Web 服务客户端。我什至不打算将任何数据放入属性中。也许它可以以某种方式完全从扩展类中完全删除,以避免需要序列化它。IDictionaryCustomSoapExceptionData

这是我的代码CustomSoapException

这是我在文件中的WebMethod代码asmx.cs

Web服务客户端代码:

0 投票
1 回答
1626 浏览

dynamics-crm-4 - 当您收到通用 SoapException:服务器无法处理请求时,如何缩小实际问题的范围。从 MS-CRM 4.0

我最近开始针对 CRM 4.0 进行编程,并使用 CrmService 发出这些请求。当我发送请求时,我经常在我使用的动态实体的某些属性中得到错误的值。当然请求失败,我正在拦截异常并记录它。问题是这就是我得到的:

这没什么好说的。

到目前为止,我一直在凭直觉消除一些属性并再次对其进行测试,然后试图猜测该属性的值可能有什么问题。是否有另一种方法可以获取有关导致错误的原因的更详细信息,以便我可以更快地查明真正的罪魁祸首。

0 投票
2 回答
678 浏览

c# - 如何使用 SOAP ENV 调用远程 Web 服务并捕获 Soap 异常

我正在使用 C# 的 WebClient.UploadString 方法访问 Web 服务(远程),并且正在传递带有所需凭据和数据的 SOAPEnv。

它工作正常,但是,我无法捕获远程 Web 服务返回的 SoapException。我阅读了 WebClient.UploadString 方法,它返回 WebException 或通用异常。

我只是想知道如何使用 SoapEnv 调用 Web 服务并捕获 SOAPException。使用 WebClient 方法的原因是通过 SoapEnv,因为 Web 服务需要 WS-Security Authentication。

问候, 锯齿状

0 投票
2 回答
2500 浏览

c# - 如何在客户端接受 SoapException

我收到了可怕的“客户端发现响应内容类型为“text/html”但预期为“test/xml”错误,但经过一番谷歌搜索后,我发现了这篇关于如何返回 SoapException 的帖子。

所以我继续并实现了它,但现在我仍然遇到同样的错误。是否需要在客户端进行更改才能接受 SoapException(我不这么认为,一切都只是从 Exception 继承,对吗?)

为什么我仍然在客户端收到可怕的响应?

编辑:我知道这个 catch 块中的异常正是我需要看到的,但我仍然在客户端收到 System.InvalidOperationException。

Edit2:如果有帮助/很重要,我将通过 WebReference(调用 *.asmx 文件)连接到 Web 服务。

Edit3:这是写入我们的异常日志服务器端的内容(在 PublishingManager.Publish() 调用中)。我的想法是这应该是返回给客户的东西......

Edit3:只是想抛出这个额外的代码块,以便人们看到我是如何测试这些异常的(也许这是错误的测试方式......)。在我的第一个代码块中,我在 try 块中调用了“return Components.PWD.GetConversionErrors();”,这是该方法:

正如你所看到的,我已经注释掉了实际的调用,只是加入了我自己的行,每次都会抛出异常以进行测试......

Edit4:@gbvb 这是新方法:

Edit5:Fiddler2 看到了什么:

如果有人知道很好地格式化本节,请这样做:)

0 投票
1 回答
4976 浏览

php - 如何在 php Soap Client 请求期间处理多个 SOAP 错误?

我有兴趣通过 php 的 soapClient 向 Web 服务进行肥皂调用,以从监测站获取水位。我想处理执行期间发生的两个肥皂错误。第一个故障如下:

如果某个时间的数据不可用,则该错误预计会在脚本期间发生多次。我需要捕捉到这个错误,以便告诉脚本重新尝试新的时间。我使用了一个 catch 块来做到这一点。

如果 web 服务未加载 wsdl 文件或服务器超时,我还需要捕获第二个故障。为了测试这一点,给了我的脚本一个错误的位置,以生成我之前收到的相同错误,如下所示:

第二个错误仍未被捕获并终止我的脚本。但是我需要抓住它并显示一条消息。

我已经发布了我的 php 函数,该函数在下面进行了肥皂调用。

谁能给我关于如何做到这一点的任何想法?

0 投票
0 回答
1005 浏览

soapexception - 如何使用 WebService 扩展重试 SOAP 调用(在服务器,而不是客户端)

我开发了一个 SOAP 服务,它可以通过 WAN 访问一个挑剔的后端。我想实现重试逻辑以使消费者应用程序免于实现重试逻辑。

编写重试逻辑的最简洁方法?有一些有趣的想法,但我想避免在数十次调用中使代码复杂化。

我想我需要实现一个 SOAPExtension 来检查 retrySpecific 异常,然后执行内部重试。

P-Code:
SOAP Call Enters WebService
调用后端
如果通过,返回数据
如果失败,调用后端
如果通过,返回数据
如果失败,返回异常

关于如何实现这一点的任何想法?

0 投票
2 回答
324 浏览

c# - SoapException 未在 ComVisible 类中捕获

我正在.NET 中开发一个 ComVisible 库,然后在旧的 VB6 类中调用它。我在课堂上主要做的是调用 Web 服务、解析响应并返回包含必要数据的对象。Web 服务被设计为返回一个SoapExceptionif 调用错误的参数。这是我的代码的一部分:

一旦我尝试使用正确的参数从我的 VB6 代码中调用此方法,我就会得到正确的答复。但是,如果我用错误的参数调用它,我会在我的 VB6 程序中收到-245757( Object reference was not set to an instance of an object) 运行时错误,而且它似乎没有被catch我的 C# 代码中的子句捕获(虽然我希望该方法返回一个ReplyObject带有填充字段的空字段) Error.

我创建了一个测试 C# 项目并复制了相同的方法(即我从 .NET 平台内调用相同的 Web 服务),我可以确认在这种情况下SoapException它被正确捕获。

这种行为是故意的吗?有没有办法SoapException在 ComVisible 类中捕获 (因为我真的想将错误消息包含到我的回复对象中)?

UPD:我的 VB6 代码如下:

0 投票
0 回答
858 浏览

php - 未捕获的 SoapFault 异常:服务器无法处理请求。---> System.ApplicationException

直到昨天,我的 php 代码一直运行良好,直到今天。我开始收到这个错误。我没有更改我的代码,也不知道它是如何发生的。

任何帮助都会很棒!

0 投票
1 回答
925 浏览

c# - Dynamics nav 2009 RE:SoapException:标准项目代码“foo”不存在

我正在尝试创建采购发票:

我得到SoapException了最后一行的消息:

标准文本代码“LS-150”不存在。

我很困惑,这个项目代码用于采购订单,我可以在项目列表中看到它。那么为什么我不能在这里使用它呢?我认为这应该有效。PostOrder我什至可以从“ ”对象访问此文本 ID :

Dynamics NAV 2009 R2DEMO“”公司的申请一起使用CRONUS International Ltd.-也许这是我的问题?

顺便提一句。这个恒定的 SQL Server 超时是怎么回事?为什么我可以创建PurchaseInvoice由于不存在而无法删除并且由于格式错误而无法更新的内容,但我可以很好地阅读它们?Web 服务不应该是“访问应用程序的安全方式”吗?

解决方案:

解决方案是添加一个更新行:

感谢@uncommonsense。

0 投票
1 回答
297 浏览

c# - 在soapException之后查看ajax调用是否返回true或false

现在解决了

嗨,我正在通过 Ajax 调用 ac# web 方法。

我想在 Ajax 中处理 true 和 false 的返回值,但我似乎找不到询问返回数据的方法。

抱歉,如果这是一个简单的问题,我是新手。

我的代码是

而网络方法是

谢谢