mule webservice使用者XML结果问题

mule webservice使用者XML结果问题,xml,web-services,mule,anypoint-studio,Xml,Web Services,Mule,Anypoint Studio,我从ws:consumer和mulexml:XML到dom transformer得到了转义的XML结果,但我不知道如何通过mule组件对其进行解压缩,或者可能是我做错了什么?? 以下是相关流程: <ws:consumer config-ref="Web_Service_Consumer" operation="Login" doc:name="Web Service Consumer"/> <mulexml:xml-to-dom-transformer doc:nam

我从ws:consumer和mulexml:XML到dom transformer得到了转义的XML结果,但我不知道如何通过mule组件对其进行解压缩,或者可能是我做错了什么?? 以下是相关流程:

<ws:consumer config-ref="Web_Service_Consumer" operation="Login" doc:name="Web Service Consumer"/>
    <mulexml:xml-to-dom-transformer doc:name="XML to DOM" returnClass="java.lang.String"/>
我该怎么办

我使用了mule anypoint studio 6.1.2

更新:

基于 我在
ws:consumer
前后使用了
dw:transform message
,并使用
DataSense

<dw:transform-message metadata:id="92383237-87b0-42ed-b794-b8f247cc3af5" doc:name="Transform Message">
            <dw:input-payload mimeType="application/csv"/>
            <dw:set-payload><![CDATA[%dw 1.0
%output application/xml
%namespace ns0 http://tempuri.org/
---
{
    ns0#Login: {
        ns0#Username: payload.Username,
        ns0#Password: payload.pass
    }
}]]></dw:set-payload>
        </dw:transform-message>
        <ws:consumer config-ref="Web_Service_Consumer" operation="Login" doc:name="Web Service Consumer"/>
        <dw:transform-message metadata:id="39ba326e-a6f4-4e3f-8de9-b42ddc0f19b2" doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/xml
%namespace ns0 http://tempuri.org/
%namespace ns1 http://www.w3.org/2001/XMLSchema
%namespace ns2 http://www.w3.org/XML/1998/namespace
---
{
    ns0#LoginResponse: {
        ns0#LoginResult: {
            ns1#schema @(targetNamespace: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@targetNamespace , version: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@version , finalDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@finalDefault , blockDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@blockDefault , attributeFormDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@attributeFormDefault ,
            elementFormDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@elementFormDefault , id: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@id , lang: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@ns2#lang): {
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#notation map ((notation , indexOfNotation) -> {
                    ns1#notation: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#attribute map ((attribute , indexOfAttribute) -> {
                    ns1#attribute: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#element map ((element , indexOfElement) -> {
                    ns1#element: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#attributeGroup map ((attributeGroup , indexOfAttributeGroup) -> {
                    ns1#attributeGroup: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#group map ((group , indexOfGroup) -> {
                    ns1#group: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#complexType map ((complexType , indexOfComplexType) -> {
                    ns1#complexType: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#simpleType map ((simpleType , indexOfSimpleType) -> {
                    ns1#simpleType: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#annotation map ((annotation , indexOfAnnotation) -> {
                    ns1#annotation: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#redefine map ((redefine , indexOfRedefine) -> {
                    ns1#redefine: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#import map ((import , indexOfImport) -> {
                    ns1#import: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#include map ((include , indexOfInclude) -> {
                    ns1#include @(id: include.@id , schemaLocation: include.@schemaLocation): {
                        ns1#annotation: include.ns1#annotation
                    }
                }))
            }
        }
    }
}]]></dw:set-payload>
        </dw:transform-message>

据我所知,转换Web服务的结果是基于您的需求,这不是必需的步骤。你真的需要变压器吗?尝试在耗电元件后卸下变压器,请参阅修复问题。还尝试在消费者之后使用和不使用transformer进行调试,并验证结果。
对于xml转义字符问题,我在mule exchange()上尝试了SOAP webservice,得到了与转义字符类似的结果,但原因是webservice响应(但您的结果看起来不同,即使您的结果在xml声明中也有转义字符)来自数据库的转义字符可能不是mule的原因。我在webservicex.net()上尝试了不同的服务,它运行得很好,没有任何问题。

尝试在
之后放置
转换器,而不是
,但结果相同
<dw:transform-message metadata:id="92383237-87b0-42ed-b794-b8f247cc3af5" doc:name="Transform Message">
            <dw:input-payload mimeType="application/csv"/>
            <dw:set-payload><![CDATA[%dw 1.0
%output application/xml
%namespace ns0 http://tempuri.org/
---
{
    ns0#Login: {
        ns0#Username: payload.Username,
        ns0#Password: payload.pass
    }
}]]></dw:set-payload>
        </dw:transform-message>
        <ws:consumer config-ref="Web_Service_Consumer" operation="Login" doc:name="Web Service Consumer"/>
        <dw:transform-message metadata:id="39ba326e-a6f4-4e3f-8de9-b42ddc0f19b2" doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/xml
%namespace ns0 http://tempuri.org/
%namespace ns1 http://www.w3.org/2001/XMLSchema
%namespace ns2 http://www.w3.org/XML/1998/namespace
---
{
    ns0#LoginResponse: {
        ns0#LoginResult: {
            ns1#schema @(targetNamespace: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@targetNamespace , version: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@version , finalDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@finalDefault , blockDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@blockDefault , attributeFormDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@attributeFormDefault ,
            elementFormDefault: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@elementFormDefault , id: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@id , lang: payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.@ns2#lang): {
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#notation map ((notation , indexOfNotation) -> {
                    ns1#notation: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#attribute map ((attribute , indexOfAttribute) -> {
                    ns1#attribute: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#element map ((element , indexOfElement) -> {
                    ns1#element: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#attributeGroup map ((attributeGroup , indexOfAttributeGroup) -> {
                    ns1#attributeGroup: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#group map ((group , indexOfGroup) -> {
                    ns1#group: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#complexType map ((complexType , indexOfComplexType) -> {
                    ns1#complexType: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#simpleType map ((simpleType , indexOfSimpleType) -> {
                    ns1#simpleType: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#annotation map ((annotation , indexOfAnnotation) -> {
                    ns1#annotation: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#redefine map ((redefine , indexOfRedefine) -> {
                    ns1#redefine: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#import map ((import , indexOfImport) -> {
                    ns1#import: {
                    }
                })),
                (payload.ns0#LoginResponse.ns0#LoginResult.ns1#schema.*ns1#include map ((include , indexOfInclude) -> {
                    ns1#include @(id: include.@id , schemaLocation: include.@schemaLocation): {
                        ns1#annotation: include.ns1#annotation
                    }
                }))
            }
        }
    }
}]]></dw:set-payload>
        </dw:transform-message>
    Root Exception stack trace:
javax.xml.stream.XMLStreamException: Trying to bind URI http://www.w3.org/XML/1998/namespace to prefix "{0}" (can only bind to xml)