代码之家  ›  专栏  ›  技术社区  ›  Ahmad

服务器无法处理请求SalesForce出站消息

  •  0
  • Ahmad  · 技术社区  · 7 年前

    各位,我有一个c#asp上的Web服务(ASMX)。net站点和我正在接收来自销售人员的出站消息我有多种类型的通知一种是针对帐户的另一种是任务第一种是在我从WSDL文件生成ProxyClass时使用所有默认类名,当我为任务执行此操作并将WSDL文件转换为ProxyClass时,它显示了关于名称相互冲突的错误,因此我更改了ProxyClass中的名称,例如通知到notificationTasks的defaul名称、NotificationResponse到notificationsResponseTask、sObject到sObjectTask、,所以当我运行接收通知和返回的通用代码时 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;
    
        }
    
    
    }
    

    我做错了什么?

    0 回复  |  直到 7 年前
        1
  •  2
  •   Simple Code    7 年前

    因此,从我看待您的问题的角度来看,我认为我已经找到了解决方案,我以前遇到过这个问题,而且解决起来非常简单,在堆栈交换上已经有了一个关于这个问题的问题 here .

    现在,如果您阅读了我在回答中添加的问题,它说您可以轻松地将第二个出站消息放入该类唯一的命名空间中,请执行以下操作,当您创建代理类时,将整个类放入一个命名空间中:

       namespace Customnotification
    {
     // The whole rest of the class comes here
    }
    

    现在,您的新出站消息本身是唯一的,并且不会与您当前所在的其他ProxyClass冲突 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 
                }
    

    试着让它起作用。谢谢

        2
  •  0
  •   Ajay Dubedi    7 年前

    将(出站消息的)端点更改为要映射的特定web服务;)

    阿贾伊·杜贝迪

    推荐文章