JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-2537

Qualified Names are not parsed correctly in QNameConverter

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Reopened Reopened
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 1.4.3
  • Fix Version/s: None
  • Component/s: Core: Configuration
  • Labels:
    None
  • Environment:

    JDK 1.6.0.02, Vista

  • User impact:
    High
  • Configuration:
    Hide

    <property name="soapAction" value="urn:www-callcommand-com:web-services.CallImporter/${method}"/>
    <map name="soapMethods">
    <list name="qname{ImportFile:urn:www-callcommand-com:web-services.CallImporter}">

    Show
    <property name="soapAction" value="urn:www-callcommand-com:web-services.CallImporter/${method}"/> <map name="soapMethods"> <list name="qname{ImportFile:urn:www-callcommand-com:web-services.CallImporter}">
  • Log Output:
    Hide
    DEBUG 2007-10-11 11:42:24,945 [FileConnector.receiver.1] org.mule.impl.MuleMessage: new copy of message for Thread[FileConnector.receiver.1,5,main]
    DEBUG 2007-10-11 11:42:24,961 [connector.axis.0.dispatcher.1] org.mule.impl.MuleMessage: new copy of message for Thread[connector.axis.0.dispatcher.1,5,main]
    DEBUG 2007-10-11 11:42:24,961 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.AxisMessageDispatcher: Connecting: AxisMessageDispatcher{this=8b677f,
     endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile}
    INFO 2007-10-11 11:42:24,992 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.AxisMessageDispatcher: Connected: AxisMessageDispatcher{this=8b677f,
    endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile}
    DEBUG 2007-10-11 11:42:25,054 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.AxisMessageDispatcher: SoapAction for this call is: urn:www-callcomma
    nd-com:web-services.CallImporter/ImportFile
    DEBUG 2007-10-11 11:42:25,101 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.extensions.MuleSoapHeadersHandler: After Client Request, Message is:
    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" x
    mlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header><mule:header soapenv:actor="http://www.muleumo.org/providers/soap/1.0" soapenv:mustUndersta
    nd="0" xmlns:mule="http://www.muleumo.org/providers/soap/1.0"><mule:MULE_CORRELATION_ID>C:\Work\inbox\2066961-8639.xml</mule:MULE_CORRELATION_ID><mule:MULE_CORR
    ELATION_GROUP_SIZE>-1</mule:MULE_CORRELATION_GROUP_SIZE><mule:MULE_CORRELATION_SEQUENCE>-1</mule:MULE_CORRELATION_SEQUENCE></mule:header></soapenv:Header><soape
    nv:Body><ns1:ImportFile soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:www-callcommand-com%3Aweb-services.CallImporter"><ns1:d
    ataProvider xsi:type="xsd:string">muledd</ns1:dataProvider><ns1:username xsi:type="xsd:string">muledd</ns1:username><ns1:password xsi:type="xsd:string">nB5Qagb%
    </ns1:password><ns1:xmlDocument xsi:type="xsd:string">[B@1a0b53e</ns1:xmlDocument><ns1:documentType xsi:type="xsd:string">BulkCore</ns1:documentType><ns1:batchI
    dentifier xsi:type="xsd:string">MuleTest101010</ns1:batchIdentifier></ns1:ImportFile></soapenv:Body></soapenv:Envelope>
    DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Endpoint resolver not set, Loading default
    resolver: org.mule.impl.endpoint.UrlEndpointBuilder
    DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Endpoint resolver not set, Loading default
    resolver: org.mule.impl.endpoint.UrlEndpointBuilder
    DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Set UMOConnector name to: connector.http.0
    DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Set UMOConnector name to: connector.http.0
    INFO 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Initialising: HttpConnector{this=31688f, started=false, ini
    tialised=false, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=false, suppo
    rtedProtocols=[http], serviceOverrides=null}
    DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Loading DispatcherFactory: org.mule.providers.http.HttpClie
    ntMessageDispatcherFactory
    INFO 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Loading default outbound transformer: org.m
    ule.providers.http.transformers.ObjectToHttpClientMethodRequest
    INFO 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Loading default response transformer: org.m
    ule.providers.http.transformers.UMOMessageToHttpResponse
    DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.transformers.UMOMessageToHttpResponse: java.lang.Object has been added as
    source type for this transformer, there will be no source type checking performed
    DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Disposing Dispatchers
    DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Dispatchers Disposed
    DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Disposing Receivers
    DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Receivers Disposed
    INFO 2007-10-11 11:42:25,148 [connector.axis.0.dispatcher.1] org.mule.impl.DefaultExceptionStrategy: Initialising exception listener: org.mule.impl.DefaultExce
    ptionStrategy@2a987d
    DEBUG 2007-10-11 11:42:25,164 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Connecting: HttpConnector{this=31688f, started=false, initi
    alised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=false, supporte
    dProtocols=[http], serviceOverrides=null}
    INFO 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Starting: HttpConnector{this=31688f, started=false, initial
    ised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedPr
    otocols=[http], serviceOverrides=null}
    INFO 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Started: HttpConnector{this=31688f, started=true, initialis
    ed=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProt
    ocols=[http], serviceOverrides=null}
    INFO 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Connected: HttpConnector{this=31688f, started=true, initial
    ised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedPr
    otocols=[http], serviceOverrides=null}
    DEBUG 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Setting transformer name to:
     ObjectToHttpClientMethodRequest
    INFO 2007-10-11 11:42:25,210 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.extensions.UniversalSender: Making Axis soap request on: urn:www-call
    command-com:web-services.CallImporter/ImportFile
    DEBUG 2007-10-11 11:42:25,210 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.extensions.UniversalSender: Soap request is:
    [B@10ebe18
    DEBUG 2007-10-11 11:42:25,210 [connector.axis.0.dispatcher.1] org.mule.impl.MuleSession: dispatching event: Event: 906c51cd-7810-11dc-9205-ab65db856178, sync=fa
    lse, stop processing=false, MuleEndpoint{endpointUri=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile, connector=HttpConnector{this=31688f
    , started=true, initialised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, conn
    ected=true, supportedProtocols=[http], serviceOverrides=null}, transformer=ObjectToHttpClientMethodRequest{this=e2433b, name='ObjectToHttpClientMethodRequest',
    ignoreBadInput=false, returnClass=interface org.apache.commons.httpclient.HttpMethod, sourceTypes=[]}, name='endpoint.http.localhost.8888.CallImporter.CallImpor
    ter.asmx.method.ImportFile', type='sender', properties={method=ImportFile}, transactionConfig=Transaction{factory=null, action=NONE, timeout=30000}, filter=null
    , deleteUnacceptedMessages=false, initialised=false, securityFilter=null, synchronous=null, initialState=started, createConnector=0, remoteSync=false, remoteSyn
    cTimeout=10000, endpointEncoding=null}
    DEBUG 2007-10-11 11:42:25,226 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Borrowing a dispatcher for endpoint: http://localhost:8888/
    CallImporter/CallImporter.asmx?method=ImportFile
    DEBUG 2007-10-11 11:42:25,242 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Borrowed dispatcher: HttpClientMessageDispatcher{this=1ce66
    3c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile}
    DEBUG 2007-10-11 11:42:25,242 [connector.axis.0.dispatcher.1] org.mule.impl.MuleMessage: new copy of message for Thread[connector.axis.0.dispatcher.1,5,main]
    DEBUG 2007-10-11 11:42:25,242 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Returning dispatcher for endpoint: http://localhost:8888/Ca
    llImporter/CallImporter.asmx?method=ImportFile = HttpClientMessageDispatcher{this=1ce663c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=
    ImportFile}
    DEBUG 2007-10-11 11:42:25,257 [connector.http.0.dispatcher.1] org.mule.impl.MuleMessage: new copy of message for Thread[connector.http.0.dispatcher.1,5,main]
    DEBUG 2007-10-11 11:42:25,257 [connector.http.0.dispatcher.1] org.mule.providers.http.HttpClientMessageDispatcher: Connecting: HttpClientMessageDispatcher{this=
    1ce663c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile}
    INFO 2007-10-11 11:42:25,273 [connector.http.0.dispatcher.1] org.mule.providers.http.HttpClientMessageDispatcher: Connected: HttpClientMessageDispatcher{this=1
    ce663c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile}
    DEBUG 2007-10-11 11:42:25,273 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Applying transformer ObjectT
    oHttpClientMethodRequest (org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest)
    DEBUG 2007-10-11 11:42:25,273 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Object before transform: {60
    ,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,60,115,111,97,112,101,110,118,5
    8,69,110,118 [..]}
    DEBUG 2007-10-11 11:42:25,366 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Object after transform: org.
    apache.commons.httpclient.methods.PostMethod@7f8922
    DEBUG 2007-10-11 11:42:25,366 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: The transformed object is of
     expected type. Type is: PostMethod
    Show
    DEBUG 2007-10-11 11:42:24,945 [FileConnector.receiver.1] org.mule.impl.MuleMessage: new copy of message for Thread[FileConnector.receiver.1,5,main] DEBUG 2007-10-11 11:42:24,961 [connector.axis.0.dispatcher.1] org.mule.impl.MuleMessage: new copy of message for Thread[connector.axis.0.dispatcher.1,5,main] DEBUG 2007-10-11 11:42:24,961 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.AxisMessageDispatcher: Connecting: AxisMessageDispatcher{this=8b677f,  endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile} INFO 2007-10-11 11:42:24,992 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.AxisMessageDispatcher: Connected: AxisMessageDispatcher{this=8b677f, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile} DEBUG 2007-10-11 11:42:25,054 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.AxisMessageDispatcher: SoapAction for this call is: urn:www-callcomma nd-com:web-services.CallImporter/ImportFile DEBUG 2007-10-11 11:42:25,101 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.extensions.MuleSoapHeadersHandler: After Client Request, Message is: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" x mlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header><mule:header soapenv:actor="http://www.muleumo.org/providers/soap/1.0" soapenv:mustUndersta nd="0" xmlns:mule="http://www.muleumo.org/providers/soap/1.0"><mule:MULE_CORRELATION_ID>C:\Work\inbox\2066961-8639.xml</mule:MULE_CORRELATION_ID><mule:MULE_CORR ELATION_GROUP_SIZE>-1</mule:MULE_CORRELATION_GROUP_SIZE><mule:MULE_CORRELATION_SEQUENCE>-1</mule:MULE_CORRELATION_SEQUENCE></mule:header></soapenv:Header><soape nv:Body><ns1:ImportFile soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:www-callcommand-com%3Aweb-services.CallImporter"><ns1:d ataProvider xsi:type="xsd:string">muledd</ns1:dataProvider><ns1:username xsi:type="xsd:string">muledd</ns1:username><ns1:password xsi:type="xsd:string">nB5Qagb% </ns1:password><ns1:xmlDocument xsi:type="xsd:string">[B@1a0b53e</ns1:xmlDocument><ns1:documentType xsi:type="xsd:string">BulkCore</ns1:documentType><ns1:batchI dentifier xsi:type="xsd:string">MuleTest101010</ns1:batchIdentifier></ns1:ImportFile></soapenv:Body></soapenv:Envelope> DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Endpoint resolver not set, Loading default resolver: org.mule.impl.endpoint.UrlEndpointBuilder DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Endpoint resolver not set, Loading default resolver: org.mule.impl.endpoint.UrlEndpointBuilder DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Set UMOConnector name to: connector.http.0 DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Set UMOConnector name to: connector.http.0 INFO 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Initialising: HttpConnector{this=31688f, started=false, ini tialised=false, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=false, suppo rtedProtocols=[http], serviceOverrides=null} DEBUG 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Loading DispatcherFactory: org.mule.providers.http.HttpClie ntMessageDispatcherFactory INFO 2007-10-11 11:42:25,117 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Loading default outbound transformer: org.m ule.providers.http.transformers.ObjectToHttpClientMethodRequest INFO 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.service.TransportServiceDescriptor: Loading default response transformer: org.m ule.providers.http.transformers.UMOMessageToHttpResponse DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.transformers.UMOMessageToHttpResponse: java.lang.Object has been added as source type for this transformer, there will be no source type checking performed DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Disposing Dispatchers DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Dispatchers Disposed DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Disposing Receivers DEBUG 2007-10-11 11:42:25,132 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Receivers Disposed INFO 2007-10-11 11:42:25,148 [connector.axis.0.dispatcher.1] org.mule.impl.DefaultExceptionStrategy: Initialising exception listener: org.mule.impl.DefaultExce ptionStrategy@2a987d DEBUG 2007-10-11 11:42:25,164 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Connecting: HttpConnector{this=31688f, started=false, initi alised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=false, supporte dProtocols=[http], serviceOverrides=null} INFO 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Starting: HttpConnector{this=31688f, started=false, initial ised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedPr otocols=[http], serviceOverrides=null} INFO 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Started: HttpConnector{this=31688f, started=true, initialis ed=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProt ocols=[http], serviceOverrides=null} INFO 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Connected: HttpConnector{this=31688f, started=true, initial ised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedPr otocols=[http], serviceOverrides=null} DEBUG 2007-10-11 11:42:25,179 [connector.axis.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Setting transformer name to:  ObjectToHttpClientMethodRequest INFO 2007-10-11 11:42:25,210 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.extensions.UniversalSender: Making Axis soap request on: urn:www-call command-com:web-services.CallImporter/ImportFile DEBUG 2007-10-11 11:42:25,210 [connector.axis.0.dispatcher.1] org.mule.providers.soap.axis.extensions.UniversalSender: Soap request is: [B@10ebe18 DEBUG 2007-10-11 11:42:25,210 [connector.axis.0.dispatcher.1] org.mule.impl.MuleSession: dispatching event: Event: 906c51cd-7810-11dc-9205-ab65db856178, sync=fa lse, stop processing=false, MuleEndpoint{endpointUri=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile, connector=HttpConnector{this=31688f , started=true, initialised=true, name='connector.http.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, conn ected=true, supportedProtocols=[http], serviceOverrides=null}, transformer=ObjectToHttpClientMethodRequest{this=e2433b, name='ObjectToHttpClientMethodRequest', ignoreBadInput=false, returnClass=interface org.apache.commons.httpclient.HttpMethod, sourceTypes=[]}, name='endpoint.http.localhost.8888.CallImporter.CallImpor ter.asmx.method.ImportFile', type='sender', properties={method=ImportFile}, transactionConfig=Transaction{factory=null, action=NONE, timeout=30000}, filter=null , deleteUnacceptedMessages=false, initialised=false, securityFilter=null, synchronous=null, initialState=started, createConnector=0, remoteSync=false, remoteSyn cTimeout=10000, endpointEncoding=null} DEBUG 2007-10-11 11:42:25,226 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Borrowing a dispatcher for endpoint: http://localhost:8888/ CallImporter/CallImporter.asmx?method=ImportFile DEBUG 2007-10-11 11:42:25,242 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Borrowed dispatcher: HttpClientMessageDispatcher{this=1ce66 3c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile} DEBUG 2007-10-11 11:42:25,242 [connector.axis.0.dispatcher.1] org.mule.impl.MuleMessage: new copy of message for Thread[connector.axis.0.dispatcher.1,5,main] DEBUG 2007-10-11 11:42:25,242 [connector.axis.0.dispatcher.1] org.mule.providers.http.HttpConnector: Returning dispatcher for endpoint: http://localhost:8888/Ca llImporter/CallImporter.asmx?method=ImportFile = HttpClientMessageDispatcher{this=1ce663c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method= ImportFile} DEBUG 2007-10-11 11:42:25,257 [connector.http.0.dispatcher.1] org.mule.impl.MuleMessage: new copy of message for Thread[connector.http.0.dispatcher.1,5,main] DEBUG 2007-10-11 11:42:25,257 [connector.http.0.dispatcher.1] org.mule.providers.http.HttpClientMessageDispatcher: Connecting: HttpClientMessageDispatcher{this= 1ce663c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile} INFO 2007-10-11 11:42:25,273 [connector.http.0.dispatcher.1] org.mule.providers.http.HttpClientMessageDispatcher: Connected: HttpClientMessageDispatcher{this=1 ce663c, endpoint=http://localhost:8888/CallImporter/CallImporter.asmx?method=ImportFile} DEBUG 2007-10-11 11:42:25,273 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Applying transformer ObjectT oHttpClientMethodRequest (org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest) DEBUG 2007-10-11 11:42:25,273 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Object before transform: {60 ,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,60,115,111,97,112,101,110,118,5 8,69,110,118 [..]} DEBUG 2007-10-11 11:42:25,366 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: Object after transform: org. apache.commons.httpclient.methods.PostMethod@7f8922 DEBUG 2007-10-11 11:42:25,366 [connector.http.0.dispatcher.1] org.mule.providers.http.transformers.ObjectToHttpClientMethodRequest: The transformed object is of  expected type. Type is: PostMethod
  • Similar Issues:
    None

Description

When tring to create a QName for a method on a soap axis binding, the URI's are not properly parsed. This affects any URN that is used as a namespace.

Example Configuration:
<property name="soapAction" value="urn:www-callcommand-com:web-services.CallImporter/${method}"/>
<map name="soapMethods">
<list name="qname{ImportFile:urn:www-callcommand-com:web-services.CallImporter}">

The code is parsing based on Colons and assumes that the extra colon means there is a prefix. In this case there is not a prefix, just a method name and a URI.

The following code parses the string, from the configuration and then improperly hands it to the Axis QName object. I tested the use of the URN above with the QName object and it handles it correctly. The following code parses it incorrectly.

protected QName parseQName(String val)
{
StringTokenizer st = new StringTokenizer(val, ":");
List elements = new ArrayList();

while (st.hasMoreTokens())

{ elements.add(st.nextToken()); }

switch (elements.size())

{ case 1 : return new QName((String) elements.get(0)); case 2 : return new QName((String) elements.get(0), (String) elements.get(1)); case 3 : return new QName((String) elements.get(1) + ":" + (String) elements.get(2), (String) elements.get(0)); case 4 : return new QName((String) elements.get(2) + ":" + (String) elements.get(3), (String) elements.get(1), (String) elements.get(0)); default : return null; }

}

Unfortunately this is blocking a deployment. I've tried getting around this with escape characters, but to no success. There is no way to change the target WSDL or namespace, because of existing customers.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Holger Hoffstaette added a comment - 29/Oct/07 11:40 AM

After staring at this and the relevant bits of code I have to confess that I just don't understand enough about QNames and SOAPMethods to make sense of this bug - sorry. Can you please provide a failing test case based on either org.mule.test.config.QNameConverterTestCase or org.mule.providers.soap.SoapMethodTestCase (which I think applies too?) that explains the problem a bit better? That would be a great help. Thanks.

Show
Holger Hoffstaette added a comment - 29/Oct/07 11:40 AM After staring at this and the relevant bits of code I have to confess that I just don't understand enough about QNames and SOAPMethods to make sense of this bug - sorry. Can you please provide a failing test case based on either org.mule.test.config.QNameConverterTestCase or org.mule.providers.soap.SoapMethodTestCase (which I think applies too?) that explains the problem a bit better? That would be a great help. Thanks.
Hide
Permalink
John Reynolds added a comment - 29/Oct/07 12:13 PM

I'll try and come up with some test cases for that, but the problem is pretty straight forward. The code uses colons to parses the following "<list name="qname{ImportFile:urn:www-callcommand-com:web-services.CallImporter}"> tries to pull the different pieces of the qname by parsing out the colons. The qname gets broken into potentially a prefix, method, and URI. The code to correctly parse the URI is breaking the logic. The current code only assumes that a URI will ever have one colon "http://www.blahblahblah.com/path". It would break if someone stuck a port number in the URI, or in my case someone uses the URN syntax which uses colons as its own seperator. The code breaks when parsing a URN that has more than one colon, since it's also using the colon to locate the prefix and the method name.

The following are two example URIs and their component parts:

foo://example.com:8042/over/there?name=ferret#nose
_/ _____________/_______/ _______/ _/

       

scheme authority path query fragment

_____________________ __
/ \ / \
urn:example:animal:ferret:nose

http://www.ietf.org/rfc/rfc3986.txt

Here was the one that created a problem for me: urn:www-callcommand-com:web-services.CallImporter

If I write a set of test cases, it's going to be fairly complex, since I'm being asked to write a test case to correctly parse URI's based on RFC 3986. That's going to take some time..

Show
John Reynolds added a comment - 29/Oct/07 12:13 PM I'll try and come up with some test cases for that, but the problem is pretty straight forward. The code uses colons to parses the following "<list name="qname{ImportFile:urn:www-callcommand-com:web-services.CallImporter}"> tries to pull the different pieces of the qname by parsing out the colons. The qname gets broken into potentially a prefix, method, and URI. The code to correctly parse the URI is breaking the logic. The current code only assumes that a URI will ever have one colon "http://www.blahblahblah.com/path". It would break if someone stuck a port number in the URI, or in my case someone uses the URN syntax which uses colons as its own seperator. The code breaks when parsing a URN that has more than one colon, since it's also using the colon to locate the prefix and the method name. The following are two example URIs and their component parts: foo://example.com:8042/over/there?name=ferret#nose _/ _____________/_______/ _______/ _/
       
scheme authority path query fragment
_____________________ __ / \ / \ urn:example:animal:ferret:nose
http://www.ietf.org/rfc/rfc3986.txt Here was the one that created a problem for me: urn:www-callcommand-com:web-services.CallImporter If I write a set of test cases, it's going to be fairly complex, since I'm being asked to write a test case to correctly parse URI's based on RFC 3986. That's going to take some time..
Hide
Permalink
Holger Hoffstaette added a comment - 30/Oct/07 12:09 PM

assigning to Dan since he knows the mysteries of QName and SOAP..

Show
Holger Hoffstaette added a comment - 30/Oct/07 12:09 PM assigning to Dan since he knows the mysteries of QName and SOAP..
Hide
Permalink
Dan Diephouse added a comment - 30/Oct/07 03:19 PM

I've fixed our parsing code.

Caveat: Due to the odd way this was originally implemented the code assumes that you're specifying a prefix if your QName has more than one ":" in the namespace. To avoid this caveat we'd have to force everyone to write their QNames differently which would be very bad for backward compatibility reasons.

I'll apply this to the 2.x branch as part of my next commit as well.

Show
Dan Diephouse added a comment - 30/Oct/07 03:19 PM I've fixed our parsing code. Caveat: Due to the odd way this was originally implemented the code assumes that you're specifying a prefix if your QName has more than one ":" in the namespace. To avoid this caveat we'd have to force everyone to write their QNames differently which would be very bad for backward compatibility reasons. I'll apply this to the 2.x branch as part of my next commit as well.
Hide
Permalink
Holger Hoffstaette added a comment - 31/Oct/07 12:51 PM

Need to reopen this to remind us that the merge to 2.x is not done yet. Btw Dan, it seems that 2.x has a duplicate implementation of the QNameConverter: the old one (deprecated) plus a new duplicate QNamePropertyEditor

Show
Holger Hoffstaette added a comment - 31/Oct/07 12:51 PM Need to reopen this to remind us that the merge to 2.x is not done yet. Btw Dan, it seems that 2.x has a duplicate implementation of the QNameConverter: the old one (deprecated) plus a new duplicate QNamePropertyEditor
Hide
Permalink
Dan Diephouse added a comment - 31/Oct/07 01:15 PM

OK, thanks. Just waiting for the build to be fixed before I committed my changes. Didn't see the QNamePropertyEditor though. We might have a chance to properly fix this for 2.0 with that class...

Show
Dan Diephouse added a comment - 31/Oct/07 01:15 PM OK, thanks. Just waiting for the build to be fixed before I committed my changes. Didn't see the QNamePropertyEditor though. We might have a chance to properly fix this for 2.0 with that class...
Hide
Permalink
Dirk Olmes added a comment - 31/Jan/08 03:28 AM

descoping from 1.4.4 release

Show
Dirk Olmes added a comment - 31/Jan/08 03:28 AM descoping from 1.4.4 release
Hide
Permalink
Daniel Feist added a comment - 30/May/08 10:06 AM

Dan,

Did you ever manage to commit this in 2.0?

Show
Daniel Feist added a comment - 30/May/08 10:06 AM Dan, Did you ever manage to commit this in 2.0?
Hide
Permalink
Dan Diephouse added a comment - 30/May/08 04:22 PM

I don't think I did. Its really fuzzy in my memory though...

Show
Dan Diephouse added a comment - 30/May/08 04:22 PM I don't think I did. Its really fuzzy in my memory though...
Hide
Permalink
Daniel Feist added a comment - 02/Jun/08 04:20 PM

Ported what I could find in 1.4 to 2.0:
http://svn.mule.codehaus.org/changelog/mule/?cs=11903
http://svn.mule.codehaus.org/changelog/mule/?cs=11904

Not sure what else needs to be done to close this issue though...

Show
Daniel Feist added a comment - 02/Jun/08 04:20 PM Ported what I could find in 1.4 to 2.0: http://svn.mule.codehaus.org/changelog/mule/?cs=11903 http://svn.mule.codehaus.org/changelog/mule/?cs=11904 Not sure what else needs to be done to close this issue though...

People

  • Assignee:
    Dan Diephouse
    Reporter:
    John Reynolds
Vote (0)
Watch (1)

Dates

  • Created:
    11/Oct/07 11:36 AM
    Updated:
    02/Jun/08 04:20 PM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.