Web services Yaws-SOAP客户端内容类型

Web services Yaws-SOAP客户端内容类型,web-services,erlang,spring-ws,webservices-client,yaws,Web Services,Erlang,Spring Ws,Webservices Client,Yaws,我在Tomcat上部署了一个Spring WS-WebService示例。我可以用Java客户端成功地调用它,但当我尝试使用Yaws客户端时: Wsdl = yaws_soap_lib:initModel("http://localhost:8080/EncryptionService/holiday.wsdl"). yaws_soap_lib:call(Wsdl, "Holiday", [], [{'p:HolidayRequest', [], "aaa"}]). 我得到一个服务器端异常:

我在Tomcat上部署了一个Spring WS-WebService示例。我可以用Java客户端成功地调用它,但当我尝试使用Yaws客户端时:

Wsdl = yaws_soap_lib:initModel("http://localhost:8080/EncryptionService/holiday.wsdl").
yaws_soap_lib:call(Wsdl, "Holiday", [], [{'p:HolidayRequest', [], "aaa"}]).
我得到一个服务器端异常:

org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring-ws] in context with path [/EncryptionService] threw exception [Request processing failed; nested exception is org.springframework.ws.soap.SoapMessageCreationException: Could not create message from InputStream: Invalid Content-Type:application/xml. Is this an error message instead of a SOAP response?; nested exception is com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:application/xml. Is this an error message instead of a SOAP response?] with root cause
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:application/xml. Is this an error message instead of a SOAP response?
        at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.identifyContentType(MessageImpl.java:602)
        at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:275)
        at com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl.<init>(Message1_1Impl.java:67)
        at
(...)
org.apache.catalina.core.StandardWrapperValve调用
严重:路径为[/EncryptionService]的上下文中Servlet[spring ws]的Servlet.service()引发异常[请求处理失败;嵌套异常为org.springframework.ws.soap.SoapMessageCreationException:无法从InputStream创建消息:无效内容类型:application/xml。这是错误消息而不是soap响应吗?;嵌套异常为com.sun.xml.internal.messaaj.SOAPExceptionImpl:无效内容类型:application/这是一条错误消息而不是SOAP响应吗?]具有根本原因
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:无效的内容类型:application/xml。这是错误消息而不是SOAP响应吗?
位于com.sun.xml.internal.messaging.saaj.soap.MessageImpl.identificationContentType(MessageImpl.java:602)
位于com.sun.xml.internal.messaging.saaj.soap.MessageImpl.(MessageImpl.java:275)
位于com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl.(Message1_1Impl.java:67)
在
(...)
当我比较Java和Yaws HTTP请求时,第一个请求有一个“内容类型:text/xml;charset=utf-8”,而第二个请求是:“内容类型:application/xml;charset=utf-8”。然而,在Yaws_soap_lib.erl源文件中,内容类型似乎是硬编码的:

make_request_body(Content, []) ->
    {"application/xml; charset=utf-8",
     "<?xml version=\"1.0\" encoding=\"utf-8\"?>"++ Content};
make_request_body(Content, AttachedFiles) ->
    {"application/dime",
     yaws_dime:encode("<?xml version=\"1.0\" encoding=\"utf-8\"?>" ++ Content,
                      AttachedFiles)}.
make_-request_-body(内容,[])->
{“application/xml;charset=utf-8”,
“”++内容};
请求正文(内容、附件文件)->
{“应用程序/dime”,
yaws_dime:encode(“++内容,
附件}。
当我将其更改为“text/xml”并重新编译时,Yaws客户端工作正常

有没有一种方法可以让客户端在不更改源代码的情况下工作?


我可以附加WSDL和请求/响应内容,但我认为这里没有必要附加这些内容。

我认为没有,为什么不在github上提交错误报告?或者,最好提供一个补丁