I'm having a problem with using axis on another apache project (ofbiz). I think the problem is with the way the wsdl is built. SoapUI generates a soap request as follows:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:findPartiesById xmlns:ns2="http://ofbiz.apache.org/service/"> <map-Map> <ns2:map-Entry> <ns2:map-Key> <ns2:std-String value="idToFind"/> </ns2:map-Key> <ns2:map-Value> <ns2:std-String value="admin"/> </ns2:map-Value> </ns2:map-Entry> <ns2:map-Entry> <ns2:map-Key> <ns2:std-String value="login.username"/> </ns2:map-Key> <ns2:map-Value> <ns2:std-String value="admin"/> </ns2:map-Value> </ns2:map-Entry> <ns2:map-Entry> <ns2:map-Key> <ns2:std-String value="login.password"/> </ns2:map-Key> <ns2:map-Value> <ns2:std-String value="ofbiz"/> </ns2:map-Value> </ns2:map-Entry> </map-Map> </ns2:findPartiesById> </S:Body> </S:Envelope> However, the above request fails unless I remove the namespace prefix from the elements below map-Map. Is there a way to change the wsdl so that the ns2 prefix is not generated by tools such as SoapUI? The wsdl is below: <?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl=" http://schemas.xmlsoap.org/wsdl/" xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns=" http://ofbiz.apache.org/service/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" targetNamespace=" http://ofbiz.apache.org/service/"> <wsdl:types> <xsd:schema targetNamespace="http://ofbiz.apache.org/service/"> <xsd:element name="std-String"> <xsd:complexType> <xsd:attribute name="value" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="std-Integer"> <xsd:complexType> <xsd:attribute name="value" type="xsd:integer" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="std-Long"> <xsd:complexType> <xsd:attribute name="value" type="xsd:long" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="std-Float"> <xsd:complexType> <xsd:attribute name="value" type="xsd:float" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="std-Double"> <xsd:complexType> <xsd:attribute name="value" type="xsd:double" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="std-Boolean"> <xsd:complexType> <xsd:attribute name="value" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="std-Locale"> <xsd:complexType> <xsd:attribute name="value" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="sql-Timestamp"> <xsd:complexType> <xsd:attribute name="value" type="xsd:dateTime" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="sql-Date"> <xsd:complexType> <xsd:attribute name="value" type="xsd:date" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="sql-Time"> <xsd:complexType> <xsd:attribute name="value" type="xsd:time" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="col-ArrayList"/> <xsd:element name="col-LinkedList"/> <xsd:element name="col-Stack"/> <xsd:element name="col-Vector"/> <xsd:element name="col-TreeSet"/> <xsd:element name="col-HashSet"/> <xsd:element name="col-Collection"/> <xsd:element name="map-TreeMap" type="tns:map-Map"/> <xsd:element name="map-WeakHashMap" type="tns:map-Map"/> <xsd:element name="map-Hashtable" type="tns:map-Map"/> <xsd:element name="map-Properties" type="tns:map-Map"/> <xsd:element name="map-HashMap" type="tns:map-Map"/> <xsd:element name="map-Map" type="tns:map-Map"/> <xsd:element name="map-Entry" type="tns:map-Entry"/> <xsd:element name="map-Key" type="tns:map-Key"/> <xsd:element name="map-Value" type="tns:map-Value"/> <xsd:element name="eepk-" type="tns:map-Map"> <xsd:annotation> <xsd:documentation>The name of element need to be appended with name of entity such as eepk-Product for Product entity.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="eeval-" type="tns:map-Map"> <xsd:annotation> <xsd:documentation>The name of element need to be appended with name of entity such as eeval-Product for Product entity.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="cus-obj"> <xsd:annotation> <xsd:documentation>Object content need to be in CDATA such as <cus-obj><![CDATA[--byteHex--]]></cus-obj></xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="map-Map"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-Entry"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="map-Entry"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Key"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Value"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="map-Key"> <xsd:all> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-String"/> </xsd:all> </xsd:complexType> <xsd:complexType name="map-Value"> <xsd:choice> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-String"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Integer"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Long"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Float"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Double"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Boolean"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Locale"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Timestamp"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Date"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Time"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-ArrayList"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-LinkedList"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Stack"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Vector"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-TreeSet"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-HashSet"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Collection"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-HashMap"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Properties"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Hashtable"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-WeakHashMap"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-TreeMap"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Map"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:eepk-"/> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:eeval-"/> </xsd:choice> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="findPartiesByIdResponse"> <wsdl:part name="map-Map" type="tns:map-Map"> <wsdl:documentation> <attribute java-class="List" name="partiesFound" namespace=" http://ofbiz.apache.org/service/" optional="true" type="col-LinkedList"/> <attribute java-class="org.ofbiz.entity.GenericValue" name="party" namespace="http://ofbiz.apache.org/service/" optional="true" type="eeval-"/> </wsdl:documentation> </wsdl:part> </wsdl:message> <wsdl:message name="findPartiesByIdRequest"> <wsdl:part name="map-Map" type="tns:map-Map"> <wsdl:documentation> <attribute java-class="String" name="idToFind" namespace=" http://ofbiz.apache.org/service/" optional="false" type="std-String"/> <attribute java-class="String" name="partyIdentificationTypeId" namespace="http://ofbiz.apache.org/service/" optional="true" type="std-String"/> <attribute java-class="String" name="searchAllId" namespace="http://ofbiz.apache.org/service/" optional="true" type="std-String"/> <attribute java-class="String" name="searchPartyFirst" namespace="http://ofbiz.apache.org/service/" optional="true" type="std-String"/> <attribute java-class="java.lang.String" name="login.username" namespace="http://ofbiz.apache.org/service/" optional="false" type="std-String"/> <attribute java-class="java.lang.String" name="login.password" namespace="http://ofbiz.apache.org/service/" optional="false" type="std-String"/> </wsdl:documentation> </wsdl:part> </wsdl:message> <wsdl:portType name="findPartiesByIdPortType"> <wsdl:operation name="findPartiesById"> <wsdl:input message="tns:findPartiesByIdRequest"/> <wsdl:output message="tns:findPartiesByIdResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="findPartiesByIdSoapBinding" type="tns:findPartiesByIdPortType"> <soap:binding style="rpc" transport=" http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="findPartiesById"> <soap:operation soapAction=" http://localhost/webtools/control/SOAPService" style="rpc"/> <wsdl:input> <soap:body encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" namespace=" http://ofbiz.apache.org/service/" use="literal"/> </wsdl:input> <wsdl:output> <soap:body encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" namespace=" http://ofbiz.apache.org/service/" use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="findPartiesById"> <wsdl:port binding="tns:findPartiesByIdSoapBinding" name="findPartiesByIdPort"> <soap:address location=" http://localhost/webtools/control/SOAPService"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Many thanks in advance, Chris
