服务器无法处理请求 SalesForce 出站消息
Server was unable to process request SalesForce Outbound Message
大家好,我在 c# asp.net 站点上有一个 (ASMX) 网络服务,我正在接收来自销售人员的出站消息 我有不止一种类型的通知,一种是针对帐户,另一种是任务当我从 WSDL 文件生成 ProxyClass 时,第一个是使用所有默认类名,当我为任务执行此操作并将 WSDL 文件转换为 ProxyClass 时,它显示有关名称相互冲突的错误,因此我更改了名称中的名称ProxyClass,例如 notificationTasks 的通知的默认名称,NotificationReponce 到 notificationsResponseTask,sObject 到 sObjectTask,所以当我 运行 接收通知的通用代码和 return Ack=true
默认情况下它没有工作问题,但是当我尝试以下代码时:即尝试从消息中获取值时它中断显示服务器错误无法处理请求。
我的代码:
class Tasks :INotificationBindingTasks
{
//class MyNotificationListener : INotificationBinding
public notificationsResponseTask notifications(notificationTasks notification2)
{
TaskNotification[] TaskNotification = notification2.Notification;
notificationsResponseTask r = new notificationsResponseTask();
r.Ack = true;
return r;
}
}
我在这里做错了什么?
将您的(出站消息的)端点更改为要映射的特定 Web 服务;)
谢谢,
阿杰·杜贝迪
所以我看待你的问题的方式我想我有解决方案我已经 运行 解决这个问题并且它很容易解决,在 Stack exchange [=13] 上已经有一个关于这个的问题=].
出站的工作方式是 proxyCalss 的编码方式是为了能够成功获取通知并对其进行解码,您需要它采用特定形式并且名称非常敏感,例如您说您更改了名称notificationsResponse 现在,当 salesforce 发送消息时,它期望 return 值具有您更改的 notificationsResponse 的名称,这就是为什么更改 Class 中的名称只会导致更多问题。
现在,如果您阅读了我在此答案中添加的问题,它说您可以轻松地将第二条出站消息放入一个唯一的名称空间 class,请在创建代理时执行以下操作class 将整个 class 放入一个命名空间 ex:
namespace Customnotification
{
// The whole rest of the class comes here
}
现在您的新出站消息是独一无二的,不会与其他代理冲突Class,现在在您的 webservice.asmx.cs
文件中执行以下操作:
namespace Customnotification
{
public class Tasks : INotificationBinding
{
// REST of the process goes here for the receiving data from outbound
// Make sure you use the default notification names do not change them
}
尝试它应该工作。谢谢!
大家好,我在 c# asp.net 站点上有一个 (ASMX) 网络服务,我正在接收来自销售人员的出站消息 我有不止一种类型的通知,一种是针对帐户,另一种是任务当我从 WSDL 文件生成 ProxyClass 时,第一个是使用所有默认类名,当我为任务执行此操作并将 WSDL 文件转换为 ProxyClass 时,它显示有关名称相互冲突的错误,因此我更改了名称中的名称ProxyClass,例如 notificationTasks 的通知的默认名称,NotificationReponce 到 notificationsResponseTask,sObject 到 sObjectTask,所以当我 运行 接收通知的通用代码和 return Ack=true
默认情况下它没有工作问题,但是当我尝试以下代码时:即尝试从消息中获取值时它中断显示服务器错误无法处理请求。
我的代码:
class Tasks :INotificationBindingTasks
{
//class MyNotificationListener : INotificationBinding
public notificationsResponseTask notifications(notificationTasks notification2)
{
TaskNotification[] TaskNotification = notification2.Notification;
notificationsResponseTask r = new notificationsResponseTask();
r.Ack = true;
return r;
}
}
我在这里做错了什么?
将您的(出站消息的)端点更改为要映射的特定 Web 服务;)
谢谢, 阿杰·杜贝迪
所以我看待你的问题的方式我想我有解决方案我已经 运行 解决这个问题并且它很容易解决,在 Stack exchange [=13] 上已经有一个关于这个的问题=].
出站的工作方式是 proxyCalss 的编码方式是为了能够成功获取通知并对其进行解码,您需要它采用特定形式并且名称非常敏感,例如您说您更改了名称notificationsResponse 现在,当 salesforce 发送消息时,它期望 return 值具有您更改的 notificationsResponse 的名称,这就是为什么更改 Class 中的名称只会导致更多问题。
现在,如果您阅读了我在此答案中添加的问题,它说您可以轻松地将第二条出站消息放入一个唯一的名称空间 class,请在创建代理时执行以下操作class 将整个 class 放入一个命名空间 ex:
namespace Customnotification
{
// The whole rest of the class comes here
}
现在您的新出站消息是独一无二的,不会与其他代理冲突Class,现在在您的 webservice.asmx.cs
文件中执行以下操作:
namespace Customnotification
{
public class Tasks : INotificationBinding
{
// REST of the process goes here for the receiving data from outbound
// Make sure you use the default notification names do not change them
}
尝试它应该工作。谢谢!