thanks for answer to the question, sal campana. I changed the version of addressing to 2004/08 but I have the same error. Do I only have to change this line http://schemas.xmlsoap.org/ws/2004/03/addressing by this other http://schemas.xmlsoap.org/ws/2004/08/addressing into the previous code,haven't I? Do I need some file additional or something more?
Thanks Note: With axis version 1.2.1 works properly (since it will use 2004/03 addressing version) but I need axis 1.3. --- Sal Campana <[EMAIL PROTECTED]> escribió: > Ruben DF wrote: > > >Hi, > > > >I have a wsrf service called "servicewsrf" and a > axis > >service called "serviceintermediate" which sends a > >message SOAP to servicewsrf in order to modify the > >value of a resource property. Two services are in > the > >same computer > > > >Well, when I create the message soap in > >serviceintermediate and I send to servicewsrf, I > get > >this error from server (Seen from tcpmon): > > > >HTTP/1.1 500 Error Interno del Servidor > >Server: Apache-Coyote/1.1 > >Content-Type: text/xml;charset=utf-8 > >Date: Tue, 30 May 2006 17:30:25 GMT > >Connection: close > > > ><?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" > >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > > <soapenv:Body> > > <soapenv:Fault> > > <faultcode>soapenv:Client</faultcode> > > <faultstring>A WS-Addressing Action SOAP header > >element is required by this endpoint.</faultstring> > > <detail/> > > </soapenv:Fault> > > </soapenv:Body> > ></soapenv:Envelope> > > > >The soap message that I send is this: > > > ><?xml version="1.0" encoding="UTF-8"?> > ><soapenv:Envelope > >xmlns:fs="http://ws.apache.org/resource/serviciowsrf" > > > > >xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > > >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > >xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> > > > > <soapenv:Header> > > <fs:ResourceIdentifier > >soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" > > > > soapenv:mustUnderstand="0" > >xmlns:fs="http://ws.apache.org/resource/serviciowsrf">recurso</fs:ResourceIdentifier> > > <wsa:MessageID > >soapenv:mustUnderstand="0">uuid:9468d600-ef33-11da-87a8-a285d7b5ba51</wsa:MessageID> > > <wsa:To > >soapenv:mustUnderstand="0">http://localhost:8070/wsrf/services/serviciowsrf</wsa:To> > > > > > > <wsa:From > >soapenv:mustUnderstand="0"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:From> > > > > </soapenv:Header> > > > > <soapenv:Body> > > <wsrp:SetResourceProperties > >xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"> > > <wsrp:Update> > > <fs:Nombre > >xmlns:fs="http://ws.apache.org/resource/serviciowsrf">Pepote</fs:Nombre> > > </wsrp:Update> > > </wsrp:SetResourceProperties> > > </soapenv:Body> > ></soapenv:Envelope> > > > >In effet, there is not ACTION element BUT I dont > >understand it because when I create the soap > message I > >include this element (ACTION) in the message. My > code > >for generate the message soap is: > > > >Name prop = null; > > > > SOAPElement update_element = null; > > SOAPElement prop_element = null; > > SOAPElement element = null; > > > > int res = 0; > > > > try{ > > > > //Create the connection > > SOAPConnectionFactory scFactory = > > SOAPConnectionFactory.newInstance(); > > SOAPConnection con = > >scFactory.createConnection(); > > > > // Create the message > > MessageFactory factory = > >MessageFactory.newInstance(); > > SOAPMessage message = > factory.createMessage(); > > > > // Get message's components > > SOAPPart soapPart = message.getSOAPPart(); > > SOAPEnvelope envelope = > >soapPart.getEnvelope(); > > > > > > Name envelopeAttributeName = > >envelope.createName("xmlns:fs"); > > > envelope.addAttribute(envelopeAttributeName, > >"http://ws.apache.org/resource/"+servicio); > > > > SOAPHeader header = envelope.getHeader(); > > SOAPBody body = envelope.getBody(); > > > > Name headerToElement = > >envelope.createName("To", "wsa", > >"http://schemas.xmlsoap.org/ws/2004/03/addressing"); > > SOAPHeaderElement to = > >header.addHeaderElement(headerToElement); > > > >to.addTextNode("http://localhost:8080/wsrf/services/"+servicio); > > > > Name headerActionElement = > >envelope.createName("Action", "wsa", > >"http://schemas.xmlsoap.org/ws/2004/03/addressing"); > > SOAPHeaderElement action = > >header.addHeaderElement(headerActionElement); > > > >action.addTextNode("http://ws.apache.org/resource/"+servicio+"/ServicioWsrfPortType/yourWsdlRequestName"); > > > > Name headerResourceElement = > >envelope.createName("ResourceIdentifier", "fs", > >"http://ws.apache.org/resource/"+servicio); > > SOAPHeaderElement resource = > >header.addHeaderElement(headerResourceElement); > > resource.addTextNode("recurso"); > > > > Name bodyName = > >envelope.createName("SetResourceProperties", > "wsrp", > > > >"http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"); > > SOAPBodyElement gltp = > >body.addBodyElement(bodyName); > > > > //Add element > > > > Name update = envelope.createName("Update", > >"wsrp", > >"http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"); > > > > // Create the property > > prop = envelope.createName(propiedad, "fs", > >"http://ws.apache.org/resource/"+servicio); > > > > //insert the property > > > > update_element = > gltp.addChildElement(update); > > prop_element = > >update_element.addChildElement(prop); > > > > //insert the value > > prop_element.addTextNode(valor); > > > > //URL Destiny > > URLEndpoint endpoint = new > >URLEndpoint("http://localhost:8070/wsrf/services/"+servicio); > > > > System.out.println("MENSAJE "+message); > > > > // Send message SOAPMessage response > = > >con.call(message, endpoint); > > System.out.println(response); > > > > // Close the connection > > con.close(); > > > > System.out.println("UPDATE: sent > message\n"); > > > > } catch (Exception ex) { > > ex.printStackTrace(); > > res=-1; > > } > > > >Furthermore, I know that the code above is correct, > >because if I send this meesage soap from a client > that > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]