Because your schema specifies elementFormDefault="qualified", then all local
elements (including <piClieNr>2</piClieNr> and
<pcMedewerker>manager</pcMedewerker> must be qualified with the
"urn:tempura-org:RISC" namespace. Child elements do not "inherit" the
parent's namespace unless the parent defines a default namespace (a
namespace declaration with no prefix specified, e.g.
xmlns="urn:tempura-org:RISC"). The string you use for the prefix doesn't
matter, but it makes the application more readable if you use the same
prefix as the one used in the WSDL document ("S2").

So that means you need to include the namespace information on your two
sub-elements, e.g.,:

Name clientNummerName = sf.createName("piClieNr", "S2",
"urn:tempuri-org:RISC"); 

Alternatively, you can define a default namespace on the parent element, and
then you don't need to specify namespaces on the child elements.

Anne


-----Original Message-----
From: Kransen, J. [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, October 12, 2004 11:57 AM
To: '[EMAIL PROTECTED]'
Subject: RE: [*** Mogelijke SPAM ***] - RE: newbie: namespace error - Enco
ded IP

Hi, thanks for your response.

I tried to prefix those elements as well, but the error message remains the
same. I assume from the WSDL that the prefix should be S2, but if you take a
look at it, can you confirm that that is the right prefix? I tried a lot of
strings from this WSDL as prefix, with no difference. 

<?xml version="1.0" encoding="UTF-8" ?> 
<wsdl:definitions name="RISC" targetNamespace="urn:tempuri-org"
xmlns:tns="urn:tempuri-org" xmlns:S2="urn:tempuri-org:RISC"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:S1="http://www.tempuri.org/wsa/wsa1";
xmlns="http://schemas.xmlsoap.org/wsdl/";>
  <wsdl:documentation>Author=JHE, EncodingType=DOC_LITERAL,
Proxygen_Product=Progress Version 10.0A</wsdl:documentation> 
<wsdl:types>
<schema elementFormDefault="unqualified"
targetNamespace="http://www.tempuri.org/wsa/wsa1";
xmlns="http://www.w3.org/2001/XMLSchema";>
<element name="FaultDetail">
<complexType>
<sequence>
  <element name="errorMessage" type="xsd:string" /> 
  <element name="requestID" type="xsd:string" /> 
  </sequence>
  </complexType>
  </element>
  </schema>
<schema elementFormDefault="qualified"
targetNamespace="urn:tempuri-org:RISC"
xmlns="http://www.w3.org/2001/XMLSchema";>
<complexType name="fetchClientRISc_ttClieRow">
<sequence>
  <element name="clienrv" nillable="true" type="xsd:int" /> 
  <element name="clievl" nillable="true" type="xsd:string" /> 
  <element name="clienmv" nillable="true" type="xsd:string" /> 
  <element name="clievv" nillable="true" type="xsd:string" /> 
  <element name="clienma" nillable="true" type="xsd:string" /> 
  <element name="cliedtg" nillable="true" type="xsd:string" /> 
  <element name="clienmplts" nillable="true" type="xsd:string" /> 
  <element name="clieingesl" nillable="true" type="xsd:string" /> 
  <element name="landom" nillable="true" type="xsd:string" /> 
  <element name="landomoud" nillable="true" type="xsd:string" /> 
  <element name="opdrgv" nillable="true" type="xsd:string" /> 
  <element name="parketnr" nillable="true" type="xsd:string" /> 
  <element name="delictcode1" nillable="true" type="xsd:string" /> 
  <element name="delictom1" nillable="true" type="xsd:string" /> 
  <element name="delictcode2" nillable="true" type="xsd:string" /> 
  <element name="delictom2" nillable="true" type="xsd:string" /> 
  </sequence>
  </complexType>
<complexType name="fetchClientRISc_ttClieParam">
<sequence>
  <element maxOccurs="unbounded" minOccurs="0" name="ttClieRow"
type="S2:fetchClientRISc_ttClieRow" /> 
  </sequence>
  </complexType>
<element name="fetchClientRISc">
<complexType>
<sequence>
  <element name="piClieNr" type="xsd:int" /> 
  <element name="pcMedewerker" type="xsd:string" /> 
  </sequence>
  </complexType>
  </element>
<element name="fetchClientRIScResponse">
<complexType>
<sequence>
  <element name="result" nillable="true" type="xsd:string" /> 
  <element name="ttClie" type="S2:fetchClientRISc_ttClieParam" /> 
  </sequence>
  </complexType>
  </element>
  </schema>
  </wsdl:types>
<wsdl:message name="RISC_fetchClientRISc">
  <wsdl:part name="parameters" element="S2:fetchClientRISc" /> 
  </wsdl:message>
<wsdl:message name="RISC_fetchClientRIScResponse">
  <wsdl:part name="parameters" element="S2:fetchClientRIScResponse" /> 
  </wsdl:message>
<wsdl:message name="FaultDetailMessage">
  <wsdl:part name="FaultDetail" element="S1:FaultDetail" /> 
  </wsdl:message>
<wsdl:portType name="RISCObj">
<wsdl:operation name="fetchClientRISc">
  <wsdl:input message="tns:RISC_fetchClientRISc" /> 
  <wsdl:output message="tns:RISC_fetchClientRIScResponse" /> 
  <wsdl:fault name="RISCFault" message="tns:FaultDetailMessage" /> 
  </wsdl:operation>
  </wsdl:portType>
<wsdl:binding name="RISCObj" type="tns:RISCObj">
  <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; /> 
<wsdl:operation name="fetchClientRISc">
  <soap:operation soapAction="" style="document" /> 
<wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
<wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
<wsdl:fault name="RISCFault">
  <soap:fault name="RISCFault" use="literal" /> 
  </wsdl:fault>
  </wsdl:operation>
  </wsdl:binding>
<wsdl:service name="RISCService">
<wsdl:port name="RISCObj" binding="tns:RISCObj">
  <documentation /> 
  <soap:address location="http://www.tempuri.org/wsa/wsa1"; /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

-----Oorspronkelijk bericht-----
Van: Patrick Herber [mailto:[EMAIL PROTECTED] 
Verzonden: dinsdag 12 oktober 2004 11:28
Aan: [EMAIL PROTECTED]
Onderwerp: [*** Mogelijke SPAM ***] - RE: newbie: namespace error - Encoded
IP

Hello;

NAMESPACE_ERR is raised if the qualifiedName is malformed, if the
qualifiedName has a prefix and the namespaceURI is null, or if the
qualifiedName has a prefix that is "xml" and the namespaceURI is different
from "http://www.w3.org/XML/1998/namespace"; [Namespaces].

In your case is not that you also should prefix the elements:
<piClieNr>2</piClieNr> 
<pcMedewerker>manager</pcMedewerker>
?

Regards,
Patrick

> -----Original Message-----
> From: Kransen, J. [mailto:[EMAIL PROTECTED] 
> Sent: Dienstag, 12. Oktober 2004 10:25
> To: '[EMAIL PROTECTED]'
> Subject: newbie: namespace error
> 
> Hello, I'm trying to make a SOAP call with the following code:
> 
>       // Maak de SOAP verbinding
>       SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
>       SOAPConnection soapConnection = scf.createConnection();
>       SOAPFactory sf = SOAPFactory.newInstance();
> 
>       // Maak het SOAP bericht
>       MessageFactory mf = MessageFactory.newInstance();
>       SOAPMessage message = mf.createMessage();
> 
>       // Ga naar de SOAP body            
>       SOAPPart soapPart = message.getSOAPPart();
>       SOAPEnvelope envelope = soapPart.getEnvelope();
>       SOAPBody body = envelope.getBody();
>       // Vul de body van de message
>       Name bodyName = sf.createName("fetchClientRISc", "S2", 
> "urn:tempuri-org:RISC");
>       SOAPBodyElement bodyElement = body.addBodyElement(bodyName);
>       // CVS nummer
>       Name clientNummerName = sf.createName("piClieNr");
>       SOAPElement clientNummer =
> bodyElement.addChildElement(clientNummerName);
>       clientNummer.addTextNode(clientgegevens.getCvsNummer());
>       // Gebruikersnaam
>       Name gebruikersnaamName = sf.createName("pcMedewerker");
>       SOAPElement gebruikersnaam =
> bodyElement.addChildElement(gebruikersnaamName);
>       gebruikersnaam.addTextNode(request.getRemoteUser());
> 
>       System.out.println("\n\n==== SOAP BEGIN ==== \n\n");
>       System.out.println("SOAP Request gestuurd:");
>       message.writeTo(System.out);
> 
>       // Zet de ESB (Enterprise Service Bus) als bestemming
>       URL bus = new URL("http://hpcu700372:2582/risc/reply";);
>       // Stuur de request, en vang de response op 
>       SOAPMessage soapResponse = soapConnection.call(message, bus);
> 
>       System.out.println("\n\n==== REQUEST END; RESPONSE 
> BEGIN ==== \n\n");
> 
>       System.out.println("SOAP Response ontvangen:");
>       soapResponse.writeTo(System.out);
> 
>       System.out.println("\n\n==== SOAP END ==== \n\n");
> 
>       // sluit de verbinding
>       soapConnection.close();
> 
> The code sends the following SOAP call:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <soap-env:Envelope
> xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/";>
> <soap-env:Header/>
> <soap-env:Body>
> <S2:fetchClientRISc xmlns:S2="urn:tempuri-org:RISC"> 
> <piClieNr>2</piClieNr> <pcMedewerker>manager</pcMedewerker>
> </S2:fetchClientRISc>
> </soap-env:Body>
> </soap-env:Envelope>
> 
> I get the following response:
> 
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Client</faultcode>
> <faultstring>Een fout was ontdekt in de Web Service aanvraag.
> (10894)</faultstring>
> <detail>
> <ns1:FaultDetail 
> xmlns:ns1="http://localhost/wsa";><errorMessage>Fout in SOAP
> parameter: NAMESPACE_ERR: An attempt is made to create or 
> change an object in a way which is incorrect with regard to 
> namespaces.
> (10914)</errorMessage>
> <requestID>a6752a3daf51bfb7:18166e5:ff8be1d288:-7ffa#9</requestID>
> </ns1:FaultDetail>
> </detail>
> </SOAP-ENV:Fault>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> What does this mean? 
> 
> Jeroen Kransen
> 
> 
> Dit e-mailbericht met eventuele bijlage(n) is uitsluitend 
> bestemd voor de geadresseerde(n) en strikt vertrouwelijk. 
> Indien u niet de geadresseerde bent, verzoeken wij u dit 
> bericht en eventuele bijlage(n) aan de afzender terug te 
> sturen en alle kopieën ervan te wissen en te vernietigen. 
> Hoewel Reclassering Nederland alle zorg besteedt aan correcte 
> en veilige inhoud, is zij niet aansprakelijk voor virussen in 
> verzonden e-mailberichten met eventuele bijlage(n). Aan dit 
> bericht kunnen geen rechten worden ontleend. 
> This e-mail message, including any attachment(s), is intended 
> solely for the addressee(s) and is strictly confidential. If 
> you are not the intended recipient of this message, please 
> return this e-mail and the attachment(s) to the sender and 
> delete and destroy all copies. Despite all its efforts to 
> ensure that this e-mail has a correct and save content, 
> Reclassering Nederland is not liable for any viruses 
> contained in this e-mail message and/or in the attachment(s). 
> No rights can be claimed on the basis of this e-mail message. 
> 
> 
> 
> 




Reply via email to