Author: ffang
Date: Tue Oct 18 05:53:59 2011
New Revision: 1185491
URL: http://svn.apache.org/viewvc?rev=1185491&view=rev
Log:
[SMXCOMP-910]NPE Generated whenever a soap message is received that contains a
namespace prefix but no namespace uri.
Modified:
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/StaxJbiWrapper.java
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC-Input-extra-namespace.xml
Modified:
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/StaxJbiWrapper.java
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/bindings/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/StaxJbiWrapper.java?rev=1185491&r1=1185490&r2=1185491&view=diff
==============================================================================
---
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/StaxJbiWrapper.java
(original)
+++
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/StaxJbiWrapper.java
Tue Oct 18 05:53:59 2011
@@ -515,12 +515,13 @@ public class StaxJbiWrapper implements X
public String getNamespacePrefix(int i) {
String prefix = parts.get(part).get(reader).getNamespacePrefix(i);
- if (prefix != null && prefix.length() == 0
- && parts.get(part).get(reader).getNamespaceURI().length() > 0)
{
- return CxfJbiConstants.WSDL11_WRAPPER_PART_LOCALNAME;
- } else {
- return prefix;
+ if (prefix != null && prefix.length() == 0) {
+ String uri = parts.get(part).get(reader).getNamespaceURI();
+ if (uri != null && uri.length() > 0) {
+ return CxfJbiConstants.WSDL11_WRAPPER_PART_LOCALNAME;
+ }
}
+ return prefix;
}
public String getNamespaceURI(int i) {
Modified:
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC-Input-extra-namespace.xml
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/bindings/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC-Input-extra-namespace.xml?rev=1185491&r1=1185490&r2=1185491&view=diff
==============================================================================
---
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC-Input-extra-namespace.xml
(original)
+++
servicemix/components/trunk/bindings/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC-Input-extra-namespace.xml
Tue Oct 18 05:53:59 2011
@@ -18,4 +18,4 @@
-->
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="uri:HelloWorld"><soap:Body><ns2:SayHiRequest><text>hello</text></ns2:SayHiRequest></soap:Body></soap:Envelope>
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="uri:HelloWorld"><soap:Body><ns2:SayHiRequest><text xmlns=""
xmlns:q1="*">q1:hello</text></ns2:SayHiRequest></soap:Body></soap:Envelope>