2011-10-20 14 views
5

için ins0 ekler, ben aşağıdaki istek XML olsun:Savon yakut mücevher savon mücevher kullanma etiketleri

<?xml version="1.0" encoding="UTF-8"?> 
    <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:wsdl="URL" 
     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
     xmlns:ins0="SOME URL"> 
     <soap:Body> 
      <ins0:Test xmlns="SOME URL"> 
      </ins0:Test> 
     </soap:Body> 
    </soap:Envelope> 

Ama bunun yerine olması gerekiyor:

<?xml version="1.0" encoding="UTF-8"?> 
    <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:wsdl="URL" 
     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
     <soap:Body> 
      <Test xmlns="SOME URL"> 
      </Test> 
     </soap:Body> 
    </soap:Envelope> 

Bildirimi ins0 çıkarıldı.

Herhangi bir öneriniz var mı?

+0

http://stackoverflow.com/questions/6720720/how-to-stop-savon-from-adding-prefixes-to-soap-body –

+0

o çalıştı Bkz ancak bir hata var: 'Sunucu tanımadı HTTP Üstbilgisi SOAPAction değerinin değeri: test.' Çünkü "Test" eylemini aldı ve küçültdü. –

+0

Aslında, bu XML farkının hiçbir şeyi kırmadığını öğrendim, kod iyi çalışıyor. Ama birilerinin elses kodunu bozabilir. –

cevap

2

İki XML belgesi eşdeğerdir, bu nedenle belge XML uyumlu aracı tarafından ayrıştırıldığı sürece sorun olmamalıdır.

Savon tarafından oluşturulan belge, "SOME URL" ad alanı için sadece ins0 ad alanı öneki oluşturuyor. Bu, ad alanından birçok öğe içeren büyük bir SOAP belgesi için uygundur. Bu örnekte, önek gerçekten gerekli değildir.

Görebildiğim tek sorun, Savion tarafından üretilen belgenin ins0 ad alanını iki kez - sabunta bir kez: Zarf ve daha sonra da sabunun içinde bildirdiği gibi görünmesidir: Body. Gereksiz ve hataya açık gibi görünüyor.

İlgili konular