Right. But I think the underlining issue could occur independently of the soap encoding use.
As I mentioned, the funny thing is that, we get the same error with <xs:attribute ref="soapenc:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/" /> even without having the attribute d7p1:arrayType="xs:int[]" but not with <xs:attribute ref="soapenc:arrayType" /> And I suppose when you define an array type in your own namespace in the same way the soap encoding schema defines its array type and use it as <xs:attribute ref="myns:arrayType" /> it will work (it can transmit a message), but when you use it as <xs:attribute ref="myns:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/" /> it won't work and will result in the same error. Maybe, we need a small test case in this way if this strange issue needs to be analyzed. 2014-06-11 16:49 GMT+02:00 Daniel Kulp <[email protected]>: > > Anything related to the SOAP encoding stuff is pretty much completely > untested and not supported. There’s likely bugs in there related to that > since it’s not something we support at all. > > > Dan > > > > On Jun 11, 2014, at 6:00 AM, Aki Yoshida <[email protected]> wrote: > >> This is a memo for me and others to investigate this problem. >> >> there seems to be some issue in building up an internal schema model. >> Concretely speaking, in this particular case, some namespace >> attributes with their namespace URI part set to null instead of the >> xmlns's namespace URI "http://www.w3.org/2000/xmlns/". As a result, >> the serialization of this schema results in the above NAMESPACE_ERR. >> >> The schema line hitting causing this error is: >> <xs:attribute d7p1:arrayType="xs:int[]" >> ref="soapenc:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/" >> /> >> >> While processing this line, the two out of the bands extra attributes >> xmlns:xs="http://www.w3.org/2001/XMLSchema" and >> xmlns:http="xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" are >> present (injected earlier). And these attributes have their namespace >> URI part bound to null as mentioned above. >> >> If this line is modified to >> <xs:attribute ref="soapenc:arrayType" /> >> >> This problem does not occur. >> >> I suspect the problem is lying somewhere in the schema processing >> library use by CXF. But I couldn't get a whole picture. >> >> Maybe Dan or someone might have a quick idea? >> >> >> >> >> 2014-06-10 16:52 GMT+02:00 Aki Yoshida <[email protected]>: >>> hi Neela, >>> you are right. There seems to be some problem when the wsdl is fetched >>> over http. >>> I need to look at it. >>> thanks. >>> regards, aki >>> >>> 2014-06-10 16:07 GMT+02:00 neela <[email protected]>: >>>> Hi Aki, >>>> I was able to reproduce the success you are getting. >>>> when we use local wsdl file to create client it works with the >>>> schemaLocation specification. >>>> And with out that schemaLocation when using local wsdl file it shows proper >>>> error message like below. >>>> >>>> java.lang.RuntimeException: Error compiling schema from WSDL at >>>> {C:\Users\Documents\Neela\CXF-TestProjects\view-source 172.20.85.141 >>>> NetStubs RpcEncoded.asmx wsdl.xml}: >>>> undefined simple or complex type 'soapenc:Array' >>>> >>>> but when I create the SOAP UI project mock service using that proper wsdl >>>> with schemaLocation defined and try to access it via http url, it throws >>>> the >>>> NAMESPACE_ERR. >>>> >>>> so in my case it goes in side the !file check and calls serializeSchema and >>>> it fails inside that. when we use local wsdl file it will skip this part, >>>> that's why it works fine. >>>> >>>> *DynamicClientFactory.java Line#485* >>>> >>>> * if (!key.startsWith("file:") && !key.startsWith("jar:")) {* >>>> XmlSchemaSerializer xser = new XmlSchemaSerializer(); >>>> xser.setExtReg(schemaCollection.getExtReg()); >>>> Document[] docs; >>>> try { >>>> *docs = xser.serializeSchema(schema, false);* >>>> } catch (XmlSchemaSerializerException e) { >>>> throw new RuntimeException(e); >>>> } >>>> . >>>> . >>>> . >>>> >>>> I am not sure if I could provide a live wsdl url because the sample is a >>>> .Net webservice. >>>> I have attached the soapUI project with mock service. but the >>>> schemaLocation >>>> shown in mockservice wsdl is auto generated and come different. >>>> >>>> If you import the soapUI project to SoapUI and run the mockservice you can >>>> access the service via >>>> http://localhost:8080/?WSDL >>>> >>>> Test-NameSpace-Err-soapui-project.xml >>>> <http://cxf.547215.n5.nabble.com/file/n5744932/Test-NameSpace-Err-soapui-project.xml> >>>> >>>> Thanks for your patience. >>>> >>>> Thanks & Regards, >>>> Neela >>>> >>>> >>>> >>>> -- >>>> View this message in context: >>>> http://cxf.547215.n5.nabble.com/NAMESPACE-ERR-with-DynamicClientFactory-createClient-tp5744708p5744932.html >>>> Sent from the cxf-user mailing list archive at Nabble.com. > > -- > Daniel Kulp > [email protected] - http://dankulp.com/blog > Talend Community Coder - http://coders.talend.com >
