gpt4 book ai didi

c# - 发送 Soap 请求并捕获响应

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:10 24 4
gpt4 key购买 nike

我正在尝试构建 WPF 程序以根据作为服务引用添加的 WSDL 创建 Soap 请求作为 xml 文件。
问题是我无法将代理类配置为使用该 xml 文件并将其作为请求发送以及接收响应。它给了我一个异常(exception):

An unhandled exception of type 'System.ServiceModel.FaultException`1' occurred in mscorlib.dll Additional information: APPLICATION ERROR

public string returnSerializedxml(object input)
{
XmlSerializer xmlSerializer = new XmlSerializer(input.GetType());

using (StringWriter textWriter = new StringWriter())
{
xmlSerializer.Serialize(textWriter, input);
return textWriter.ToString();
}
}

private void button1_Click(object sender, RoutedEventArgs e)
{
ConsignmentEndpointClient proxy = new ConsignmentEndpointClient();
save sv = new save();
saveResponse response = new saveResponse();
XmlDocument doc = new XmlDocument();
doc.Load(PATH);
response= proxy.save(sv); /*Here occur the exception*/

try
{
Output.Text = "Response : \n" + returnSerializedxml(response);
}
catch (Exception error)
{
Output.Text = "Error in Request : \n" + error;
}

最佳答案

向下编辑代码以忽略不与 web 服务调用交互的对象:

ConsignmentEndpointClient proxy = new ConsignmentEndpointClient();
save sv = new save();
response= proxy.save(sv); /*Here occur the exception*/

在不知道网络服务期望什么的情况下,它看起来就像您正在尝试保存一个全新的对象,该对象没有以任何方式更改(可能是也可能不是有效的事情)。你没有处理它抛出的异常,这就是它未被处理的原因 - 你可以简单地将它移动到 try block 的范围内,所以更像是:

private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
ConsignmentEndpointClient proxy = new ConsignmentEndpointClient();
save sv = new save();

throw new NotImplementedExcetpion("This probably needs to be associated with your sv object in some way, or just removed altogether");

XmlDocument doc = new XmlDocument();
doc.Load(PATH);
saveResponse response = proxy.save(sv); /*Here occur the exception*/

Output.Text = "Response : \n" + returnSerializedxml(response);
}
catch (Exception error)
{
Output.Text = "Error in Request : \n" + error;
}
}

关于c# - 发送 Soap 请求并捕获响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36445101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com