gpt4 book ai didi

带有非 WCF 客户端的 WCF

转载 作者:行者123 更新时间:2023-12-02 02:34:44 26 4
gpt4 key购买 nike

当从客户端使用我的 WCF 服务时,我收到以下错误消息。问题是当我能够从 Windows 客户端或控制台应用程序轻松运行代码时。只是不是来 self 的网络应用程序。

System.InvalidOperationException was unhandled by user code
Message="Client found response content type of
'multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:28551dc8-55af-4ec9-a9dc-169075c7f50a+id=6";start-info="text/xml"', but expected 'text/xml'.
The request failed with the error message: --
--uuid:28551dc8-55af-4ec9-a9dc-169075c7f50a+id=6 Content-ID: <http://tempuri.org/0> Content-Transfer-Encoding: 8bit Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode><faultstring xml:lang="en-US">PrintOut3: Conversion failed</faultstring><detail><ExceptionDetail xmlns="http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><HelpLink i:nil="true"/><InnerException i:nil="true"/>

这是我的 WCF 服务绑定(bind)配置

<basicHttpBinding>
<binding name="BasicHttpBinding_IMakePDFService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288"
maxReceivedMessageSize="65536" messageEncoding="Mtom"
textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
maxArrayLength="16384" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None"
proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>

最佳答案

从消息来看,您的 WCF 服务似乎正确地返回了 SOAP 消息,而您的客户端可能期望返回原始 POX(纯旧 XML)消息。

这是什么样的客户?他们是否希望只对 URL 进行 REST 风格的调用并取回 XML 负载??

如果是这样,您需要将 WCF 服务更改为使用 WebHttpBinding 而不是 basicHttpBinding(或者为该客户端公开带有 webHttpBinding 的第二个端点) .

关于带有非 WCF 客户端的 WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298854/

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