The request is sent in mode document:
org.apache.xml.security.Init.init();
Options opts = new Options(args);
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new URL(opts.getURL()) );
call.setOperation(new QName("ServicioMessageDoc"),"echoDocumentBody");
call.setOperationStyle("document");
call.setOperationUse("literal");
InputStream fis = new FileInputStream("VerifyRequest.xml");
call.setRequestMessage(new org.apache.axis.Message(fis,true));
call.invoke();
And the content of this file ?VerifyRequest.xml?:
<dss:VerifyRequest Profile="urn:CARM:services:verify:simpleVerify_test"
RequestID="0001" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"
xmlns:ns="http://www.openuri.org/"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion?><dss:SignatureObject><dss
:Base64Signature
Type="urn:ietf:rfc:3369">MIIE9AYJKoZIhvcNAQcCoIIE5TCCBOECAQExCzAJBgUrDgMCGgU
AMAsGCSqGSIb3
DQEHAaCCA5owggOWMIIC/6ADAgECAgEhMA0GCSqGSIb3DQEBBAUAMHcxCzAJBgNV
BAYTAkVTMQ8wDQYDVQQIEwZNdXJjaWExDzANBgNVBAcTBk11cmNpYTEdMBsGA1UE
ChMUVW5pdmVyc2l0eSBvZiBNdXJjaWExETAPBgNVBAsTCFVNVS1ESUlDMRQwEgYD
VQQDEwtVTVUtRElJQyBDQTAeFw0wNTA1MjUwOTA5MzJaFw0wNjA1MjUwOTA5MzJa
MIGBMQswCQYDVQQGEwJFUzEPMA0GA1UECBMGTXVyY2lhMQ8wDQYDVQQHEwZNdXJj
aWExHTAbBgNVBAoTFFVuaXZlcnNpdHkgb2YgTXVyY2lhMRcwFQYDVQQLEw5VTVUt
RElJQyBBdGljYTEYMBYGA1UEAxMPU2Vydmlkb3IgZUFkbWluMIGfMA0GCSqGSIb3
DQEBAQUAA4GNADCBiQKBgQCn60bp4dlLt5KVAYqY4Pk03mLR6sQhpyxx1JfwL3el
1Y50BAm85Zq2SIUSlcx0f7yMCaHIvaWXS+rBMfsIxkVpQ5oERKjrLKygXrdHLadr
oB2tlM5hNgladluLPQfNCJcuGeH4M4LjXstNWGRqIeVKMiKGPtRkXfc69vvPPjNp
HQIDAQABo4IBJTCCASEwDgYDVR0PAQH/BAQDAgXgMD8GA1UdHwQ4MDYwNKAyoDCG
Lmh0dHA6Ly9nb3Jnb3JvdGgudW11LmV1cm82aXgub3JnL3NlcnZsZXQvQ1JMZHAw
gaAGCCsGAQUFBwEBBIGTMIGQMCwGCCsGAQUFBzAChiBsZGFwOi8vZ29yZ29yb3Ro
LnVtdS5ldXJvNml4Lm9yZzBgBggrBgEFBQcwAYZUaHR0cDovL2dvcmdvcm90aC51
bXUuZXVybzZpeC5vcmcvcGlzY2lzL3NlcnZsZXQvcGlzY2lzLnBraS5jYS5zZXJ2
bGV0cy5PQ1NQUmVzcG9uZGVyMBEGCWCGSAGG+EIBAQQEAwIF4DAYBgNVHREEETAP
gQ1hcm1AZGlmLnVtLmVzMA0GCSqGSIb3DQEBBAUAA4GBAIMqLk0aCGkRCWotFFnr
HyDmahKKzpFf6+K8vRhAgEyHiK8x8v2Jylv9kf+gbxbjlTFC3PYS63Qsh57IxYSg
CYVQDnYxweLVTsruBZ20dwks8PlyNCH7DAkztGpG2p0VIsO69xPscsjnm23nuzGy
OUL+fGDvvGFOloSRVQKODQbNMYIBIjCCAR4CAQEwfDB3MQswCQYDVQQGEwJFUzEP
MA0GA1UECBMGTXVyY2lhMQ8wDQYDVQQHEwZNdXJjaWExHTAbBgNVBAoTFFVuaXZl
cnNpdHkgb2YgTXVyY2lhMREwDwYDVQQLEwhVTVUtRElJQzEUMBIGA1UEAxMLVU1V
LURJSUMgQ0ECASEwCQYFKw4DAhoFADANBgkqhkiG9w0BAQEFAASBgIpGbT/MWqmj
k83vnLtzsurRA+Xk/IRQ2+7OW7pGI+CIOZBg2ekuKJW6oDKoQocDTECNVGwOmI0q
hpdPRGI4Y/8wZd03ETNkqq9QR20OAikjnESoMWcdjrX5qMB6+huzviyI2c9Ih2d/
xgXGzM7/96vSTtw2659J8cl+MKm56iBF</dss:Base64Signature></dss:SignatureObject>
<dss:InputDocuments
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"><dss:Document
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"><dss:XMLData
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"><prueba
xmlns:ns="http://www.openuri.org/">Sebas</prueba></dss:XMLData></dss:Documen
t></dss:InputDocuments></dss:VerifyRequest>
Once the request is received at the web service:
public Document echoDocumentBody (Document body)
{
?
Transformer transformer=
TransformerFactory.newInstance().newTransformer();
DOMSource source;
ByteArrayOutputStream baos;
StreamResult sresult;
source = new DOMSource(body);
baos = new ByteArrayOutputStream();
sresult = new StreamResult(baos);
transformer.transform(source, sresult);
?
Document validatedSignRequest = documentBuilder.parse(new
ByteArrayInputStream(baos.toByteArray()));
?
}
This document ?validatedSignRequest? is:
<dss:VerifyRequest Profile="urn:CARM:services:verify:simpleVerify_test"
RequestID="0001" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"
xmlns:ns="http://www.openuri.org/"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"><dss:SignatureObject><dss
:Base64Signature
Type="urn:ietf:rfc:3369">MIIE9AYJKoZIhvcNAQcCoIIE5TCCBOECAQExCzAJBgUrDgMCGgU
AMAsGCSqGSIb3
DQEHAaCCA5owggOWMIIC/6ADAgECAgEhMA0GCSqGSIb3DQEBBAUAMHcxCzAJBgNV
BAYTAkVTMQ8wDQYDVQQIEwZNdXJjaWExDzANBgNVBAcTBk11cmNpYTEdMBsGA1UE
ChMUVW5pdmVyc2l0eSBvZiBNdXJjaWExETAPBgNVBAsTCFVNVS1ESUlDMRQwEgYD
VQQDEwtVTVUtRElJQyBDQTAeFw0wNTA1MjUwOTA5MzJaFw0wNjA1MjUwOTA5MzJa
MIGBMQswCQYDVQQGEwJFUzEPMA0GA1UECBMGTXVyY2lhMQ8wDQYDVQQHEwZNdXJj
aWExHTAbBgNVBAoTFFVuaXZlcnNpdHkgb2YgTXVyY2lhMRcwFQYDVQQLEw5VTVUt
RElJQyBBdGljYTEYMBYGA1UEAxMPU2Vydmlkb3IgZUFkbWluMIGfMA0GCSqGSIb3
DQEBAQUAA4GNADCBiQKBgQCn60bp4dlLt5KVAYqY4Pk03mLR6sQhpyxx1JfwL3el
1Y50BAm85Zq2SIUSlcx0f7yMCaHIvaWXS+rBMfsIxkVpQ5oERKjrLKygXrdHLadr
oB2tlM5hNgladluLPQfNCJcuGeH4M4LjXstNWGRqIeVKMiKGPtRkXfc69vvPPjNp
HQIDAQABo4IBJTCCASEwDgYDVR0PAQH/BAQDAgXgMD8GA1UdHwQ4MDYwNKAyoDCG
Lmh0dHA6Ly9nb3Jnb3JvdGgudW11LmV1cm82aXgub3JnL3NlcnZsZXQvQ1JMZHAw
gaAGCCsGAQUFBwEBBIGTMIGQMCwGCCsGAQUFBzAChiBsZGFwOi8vZ29yZ29yb3Ro
LnVtdS5ldXJvNml4Lm9yZzBgBggrBgEFBQcwAYZUaHR0cDovL2dvcmdvcm90aC51
bXUuZXVybzZpeC5vcmcvcGlzY2lzL3NlcnZsZXQvcGlzY2lzLnBraS5jYS5zZXJ2
bGV0cy5PQ1NQUmVzcG9uZGVyMBEGCWCGSAGG+EIBAQQEAwIF4DAYBgNVHREEETAP
gQ1hcm1AZGlmLnVtLmVzMA0GCSqGSIb3DQEBBAUAA4GBAIMqLk0aCGkRCWotFFnr
HyDmahKKzpFf6+K8vRhAgEyHiK8x8v2Jylv9kf+gbxbjlTFC3PYS63Qsh57IxYSg
CYVQDnYxweLVTsruBZ20dwks8PlyNCH7DAkztGpG2p0VIsO69xPscsjnm23nuzGy
OUL+fGDvvGFOloSRVQKODQbNMYIBIjCCAR4CAQEwfDB3MQswCQYDVQQGEwJFUzEP
MA0GA1UECBMGTXVyY2lhMQ8wDQYDVQQHEwZNdXJjaWExHTAbBgNVBAoTFFVuaXZl
cnNpdHkgb2YgTXVyY2lhMREwDwYDVQQLEwhVTVUtRElJQzEUMBIGA1UEAxMLVU1V
LURJSUMgQ0ECASEwCQYFKw4DAhoFADANBgkqhkiG9w0BAQEFAASBgIpGbT/MWqmj
k83vnLtzsurRA+Xk/IRQ2+7OW7pGI+CIOZBg2ekuKJW6oDKoQocDTECNVGwOmI0q
hpdPRGI4Y/8wZd03ETNkqq9QR20OAikjnESoMWcdjrX5qMB6+huzviyI2c9Ih2d/
xgXGzM7/96vSTtw2659J8cl+MKm56iBF</dss:Base64Signature></dss:SignatureObject>
<dss:InputDocuments><dss:Document><dss:XMLData><prueba>Sebas</prueba></dss:X
MLData></dss:Document></dss:InputDocuments></dss:VerifyRequest>
When I try to retrieve the xml data, these data are recovered without the
namespaces which have appeared before in the request.
I hope this helps to explain the problem.
Thanks in advance.
Laura
-----Mensaje original-----
De: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
Enviado el: viernes, 17 de junio de 2005 2:24
Para: [email protected]
Asunto: Re: Problem parsing soap request with namespaces. Possible bug?
Can you tell us a little more about the message path? How you're
invoking the service? At what stage you create the signature? How you
attach the signature, etc?
Anne
On 6/16/05, Laura Baño <[EMAIL PROTECTED]> wrote:
>
>
>
> Hi there,
>
>
>
> Some days ago, I sent a mail explaining a problem with axis. The problem
is
> the next one:
>
>
>
> I send a request to a web service
>
>
>
> <dss:VerifyRequest xmlns:ds="
> http://www.w3.org/2000/09/xmldsig#"
>
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"
>
> xmlns:ns="http://www.openuri.org/"
> xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
>
> <dss:SignatureObject>?</dss:SignatureObject>
>
> <dss:InputDocuments>
>
> <dss:Document>
>
> <dss:XMLData><prueba
> xmlns:ns="http://www.openuri.org/">prueba</prueba></dss:XMLData>
>
> </dss:Document>
>
> </dss:InputDocuments>
>
> </dss:VerifyRequest>
>
>
>
> But, when I receive the request in the web service, I receive:
>
>
>
> <dss:VerifyRequest
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
>
xmlns:dss="http://ea.carm.es/schemas/efirma/oasis-dss-1.0-core-schema-cd-02.
xsd"
>
> xmlns:ns="http://www.openuri.org/"
> xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
>
> <dss:SignatureObject>?<dss:SignatureObject>
>
> <dss:InputDocuments>
>
> <dss:Document><dss:XMLData><prueba>prueba</prueba></dss:XMLData>
>
> </dss:Document>
>
> </dss:InputDocuments>
>
> </dss:VerifyRequest>
>
>
>
> So, I wonder if there is some way of preserving the xml data. Is this a
bug?
>
>
>
> Thanks in advance.
>
>
>
> Laura
>
>