You need to configure a handler to process the SAP SOAP headers.

Anne

On 5/27/05, Manuel Nicolas Ortuño <[EMAIL PROTECTED]> wrote:
>  
>  
> 
> Hello, 
> 
>   
> 
> This is the client java code. 
> 
>   
> 
> package es.carm.ctyc.wc.CSigepal; 
> 
>   
> 
> import org.apache.axis.client.Call; 
> 
> import org.apache.axis.client.Service; 
> 
> import javax.xml.namespace.QName; 
> 
>   
> 
> import javax.xml.soap.MessageFactory; 
> 
> import javax.xml.soap.MimeHeaders; 
> 
> import javax.xml.soap.SOAPEnvelope; 
> 
> import javax.xml.soap.SOAPMessage; 
> 
> import javax.xml.soap.SOAPPart; 
> 
> import java.io.ByteArrayInputStream; 
> 
>   
> 
> public class m1 { 
> 
>             public static void main(String[] args) { 
> 
>                         try { 
> 
>                                    String endpoint =
> "http://clustertxi.carm.es:50000/XISOAPAdapter/MessageServlet?channel=:SN_ObtenerEC:MandarFicheroSOAP&amp;version=3.0&amp;Sender.Service=SN_ObtenerEC&amp;Interface=http%3A%2F%2Fcarm.es%2Fws%2Fec%5EIM_ObtenerEC";;
> 
>                                    String
> xml="<SOAP-ENV:Envelope
> xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\";
> xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\";
> xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";
> xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\";><SOAP-ENV:Body><m:IM_OBTENEREC
> xmlns:m=\"http://carm.es/ws/ec\";><ID_EXP><EJER>2005</EJER><NUMEXP>000285</NUMEXP></ID_EXP><CEN_GES>190200</CEN_GES></m:IM_OBTENEREC></SOAP-ENV:Body></SOAP-ENV:Envelope>";
> 
>   
> 
>                                     MessageFactory mf =
> MessageFactory.newInstance(); 
> 
>                                    SOAPMessage smsg = 
> 
>                                    mf.createMessage(new MimeHeaders(), new
> ByteArrayInputStream(xml.getBytes())); 
> 
>                                     SOAPPart sp = smsg.getSOAPPart(); 
> 
>                                     SOAPEnvelope se =
> (SOAPEnvelope)sp.getEnvelope(); 
> 
>                     
> 
>                                    Service service = new
> Service(); 
> 
>                                    Call call =
> (org.apache.axis.client.Call) service.createCall(); 
> 
>                                    call.setUsername("***");
> 
>                                    call.setPassword("***");
> 
>   
> 
>                                   
> call.setTargetEndpointAddress(new java.net.URL(endpoint)); 
> 
>                                   
> call.setOperationName(new QName("","IM_OBTENEREC")); 
> 
>                                    
> 
>                                   
> org.apache.axis.message.SOAPEnvelope
> soape=call.invoke((org.apache.axis.message.SOAPEnvelope)se);
> 
>                         } catch (Exception e) { 
> 
>                                    e.printStackTrace(); 
> 
>                         } 
> 
>             } 
> 
> } 
> 
>   
> 
>   
> 
> The response is 
> 
>   
> 
> <SOAP:Envelope
> xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/";> 
> 
>             <SOAP:Header> 
> 
>                         <sap:HopList
> xmlns:sap="http://sap.com/xi/XI/Message/30"; SOAP:mustUnderstand="1"> 
> 
>                                    <sap:Hop
> timeStamp="2005-05-27T07:48:16Z" wasRead="false"> 
> 
>                                                <sap:Engine
> type="AE">af.txi.clustertxi</sap:Engine> 
> 
>                                                <sap:Adapter
> namespace="http://sap.com/xi/XI/System";>XIRA</sap:Adapter> 
> 
>                                               
> <sap:MessageId>afb0d6a0-ce83-11d9-9464-00110aea5b0c</sap:MessageId>
> 
>                                                <sap:Info/> 
> 
>                                    </sap:Hop> 
> 
>                                    <sap:Hop
> timeStamp="2005-05-27T07:48:17Z" wasRead="false"> 
> 
>                                                <sap:Engine
> type="AE">af.txi.clustertxi</sap:Engine> 
> 
>                                                <sap:Adapter
> namespace="http://sap.com/xi/XI/System";>XIRA</sap:Adapter> 
> 
>                                               
> <sap:MessageId>afb0d6a0-ce83-11d9-9464-00110aea5b0c</sap:MessageId>
> 
>                                    </sap:Hop> 
> 
>                         </sap:HopList> 
> 
>                         <sap:ReliableMessaging
> xmlns:sap="http://sap.com/xi/XI/Message/30"; SOAP:mustUnderstand="1"> 
> 
>                                   
> <sap:QualityOfService>BestEffort</sap:QualityOfService> 
> 
>                         </sap:ReliableMessaging> 
> 
>                         <sap:Diagnostic
> xmlns:sap="http://sap.com/xi/XI/Message/30"; SOAP:mustUnderstand="1"> 
> 
>                                   
> <sap:TraceLevel>Fatal</sap:TraceLevel> 
> 
>                                   
> <sap:Logging>Off</sap:Logging> 
> 
>                         </sap:Diagnostic> 
> 
>                         <sap:Main
> xmlns:sap="http://sap.com/xi/XI/Message/30"; versionMajor="3"
> versionMinor="0" SOAP:mustUnderstand="1"> 
> 
>                                   
> <sap:MessageClass>ApplicationResponse</sap:MessageClass> 
> 
>                                   
> <sap:ProcessingMode>synchronous</sap:ProcessingMode> 
> 
>                                   
> <sap:MessageId>afb0d6a0-ce83-11d9-9464-00110aea5b0c</sap:MessageId>
> 
>                                   
> <sap:RefToMessageId>aecd7b80-ce83-11d9-b5e9-00110aea5b0c</sap:RefToMessageId>
> 
>                                   
> <sap:TimeSent>2005-05-27T07:48:16Z</sap:TimeSent> 
> 
>                                    <sap:Sender> 
> 
>                                                <sap:Party
> agency="http://sap.com/xi/XI"; scheme="XIParty">CON</sap:Party> 
> 
>                                               
> <sap:Service>CON</sap:Service> 
> 
>                                    </sap:Sender> 
> 
>                                    <sap:Receiver> 
> 
>                                                <sap:Party
> agency="http://sap.com/xi/XI"; scheme="XIParty"/> 
> 
>                                               
> <sap:Service>SN_ObtenerEC</sap:Service> 
> 
>                                    </sap:Receiver> 
> 
>                                    <sap:Interface
> namespace="http://carm.es/ws/ec";>IM_ObtenerEC</sap:Interface> 
> 
>                         </sap:Main> 
> 
>             </SOAP:Header> 
> 
>             <SOAP:Body> 
> 
>                         <n:EX_OBTENEREC xmlns:n="http://carm.es/ws/ec";> 
> 
>                                    <LISTA_EXP_CONTABLE> 
> 
>                                               
> <EXPEDIENTE_CONTABLE> 
> 
>                                                           
> <CAB> 
> 
>                                                            
>            <ID_CAB> 
> 
>                                                            
>                       <CIRCUITO>CONTABLE</CIRCUITO> 
> 
>                                                            
>                       <COD_TERRI>000000</COD_TERRI> 
> 
>                                                            
>                       <EJER>2005</EJER> 
> 
>                                                            
>                       <NUMEXP>000285</NUMEXP> 
> 
>                                                            
>            </ID_CAB> 
> 
>                                                            
>            <DESC_CAB>MANIFESTACIONES POPULARES DE CARACTER
> TU</DESC_CAB> 
> 
>                                                            
>            <DOC_PRE>1100019706</DOC_PRE> 
> 
>                                                            
>            <SOCIEDAD>CARM</SOCIEDAD> 
> 
>                                                            
>            <FASE_DOC>R</FASE_DOC> 
> 
>                                                            
>            <CLASE_DOC>RC</CLASE_DOC> 
> 
>                                                            
>            <TIPO_EXP>RSR</TIPO_EXP> 
> 
>                                                            
>            <INTERVENCION> 
> 
>                                                            
>                       <INTERV/> 
> 
>                                                            
>                       <TIPO_INTERV>N</TIPO_INTERV> 
> 
>                                                            
>                       <FASE_INTERV>0000</FASE_INTERV> 
> 
>                                                            
>            </INTERVENCION> 
> 
>                                                            
>            <FECHA_CONT>00000000</FECHA_CONT> 
> 
>                                                            
>            <FECHA_ALTA>20050113</FECHA_ALTA> 
> 
>                                                            
>            <FECHA_REAL_ALTA>20050113</FECHA_REAL_ALTA> 
> 
>                                                            
>            <ID_DOC_REF> 
> 
>                                                            
>                       <CIRCUITO/> 
> 
>                                                            
>                       <COD_TERRI/> 
> 
>                                                            
>                       <EJER>0000</EJER> 
> 
>                                                            
>                       <NUMEXP>000000</NUMEXP> 
> 
>                                                            
>            </ID_DOC_REF> 
> 
>                                                            
>            <DOC_PRE_REF/> 
> 
>                                                           
> </CAB> 
> 
>                                                           
> <LINEAS> 
> 
>                                                            
>            <NUM_LIN>1</NUM_LIN> 
> 
>                                                            
>            <LINEA_CONTABLE> 
> 
>                                                            
>                       <POS_EXP>000001</POS_EXP> 
> 
>                                                            
>                       <CEN_GES>190200</CEN_GES> 
> 
>                                                            
>                       <POS_PRE>G/751A/48400</POS_PRE> 
> 
>                                                            
>                       <ACREEDOR/> 
> 
>                                                            
>                       <NIF/> 
> 
>                                                            
>                       <IMPORTE>419994.00</IMPORTE> 
> 
>                                                            
>                       <DISPONIBLE>0.00</DISPONIBLE> 
> 
>                                                            
>                       <MONEDA>EUR</MONEDA> 
> 
>                                                            
>                       <FECHA_PAGO>00000000</FECHA_PAGO> 
> 
>                                                            
>                       <DOC_FI/> 
> 
>                                                            
>                       <PROYECTO>30856</PROYECTO> 
> 
>                                                            
>                       <ACTIVO_FIJO/> 
> 
>                                                            
>                       <DESC_LIN/> 
> 
>                                                            
>                       <POS_EXP_REF>000000</POS_EXP_REF> 
> 
>                                                            
>            </LINEA_CONTABLE> 
> 
>                                                           
> </LINEAS> 
> 
>                                               
> </EXPEDIENTE_CONTABLE> 
> 
>                                    </LISTA_EXP_CONTABLE> 
> 
>                                    <RESULTADO> 
> 
>                                               
> <TEXTO_ERROR>Expedientes Visualizados:000001</TEXTO_ERROR> 
> 
>                                               
> <CODIGO_ERROR>e000</CODIGO_ERROR> 
> 
>                                    </RESULTADO> 
> 
>                         </n:EX_OBTENEREC> 
> 
>             </SOAP:Body> 
> 
> </SOAP:Envelope> 
> 
>   
> 
> And the exception is: 
> 
>   
> 
> AxisFault 
> 
>  faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand 
> 
>  faultSubcode: 
> 
>  faultString: Did not understand &quot;MustUnderstand&quot; header(s): 
> 
>  faultActor: 
> 
>  faultNode: 
> 
>  faultDetail: 
> 
>       {http://xml.apache.org/axis/}stackTrace: 
> 
>       at
> org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:96)
> 
>       at
> org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
> 
>       at
> org.apache.axis.client.Call.invokeEngine(Call.java:2765) 
> 
>       at org.apache.axis.client.Call.invoke(Call.java:2748)
> 
>       at org.apache.axis.client.Call.invoke(Call.java:1902)
> 
>       at es.carm.ctyc.wc.CSigepal.m1.main(m1.java:50) 
> 
>   
> 
>       {http://xml.apache.org/axis/}hostname:r114pc269 
> 
>   
> 
> Did not understand "MustUnderstand" header(s): 
> 
>       at
> org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:96)
> 
>       at
> org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
> 
>       at
> org.apache.axis.client.Call.invokeEngine(Call.java:2765) 
> 
>       at org.apache.axis.client.Call.invoke(Call.java:2748)
> 
>       at org.apache.axis.client.Call.invoke(Call.java:1902)
> 
>       at es.carm.ctyc.wc.CSigepal.m1.main(m1.java:50) 
> 
>   
> 
>   
> 
> If I use wsdl2java to generate the java class from send and recive object,
> and implement a java client: 
> 
>   
> 
> public class prueba { 
> 
>   
> 
>       public static void main(String[] args) { 
> 
>   
> 
>             IM_ObtenerECBindingStub servicio = null; 
> 
>             IM_ObtenerECServiceLocator locator = new
> IM_ObtenerECServiceLocator(); 
> 
>             _IM_OBTENEREC im = new _IM_OBTENEREC(); 
> 
>             try { 
> 
>                   servicio = (IM_ObtenerECBindingStub)
> locator.getIM_ObtenerECPort(); 
> 
>                   servicio.setUsername("***"); 
> 
>                   servicio.setPassword("***"); 
> 
>                   im=… 
> 
> _EX_OBTENEREC ex = servicio.IM_ObtenerEC(im); 
> 
>             } catch (Exception e) { 
> 
>                   e.printStackTrace(); 
> 
>             } 
> 
> } 
> 
> } 
> 
>   
> 
> This code throw the same exception: Did not understand "MustUnderstand"
> header(s): 
> 
> I read that if the exception throw in web service can solve implement a
> Handler, but in client I don't now how I can solve this problem. 
> 
>   
> 
> Thanks. 
> 
>   
> 
>   
>  
>  ________________________________
>  
> 
> De: Anand, Rajesh [mailto:[EMAIL PROTECTED] 
>  Enviado el: jueves, 26 de mayo de 2005 15:12
>  Para: [email protected]; [EMAIL PROTECTED]
>  Asunto: RE: AxisFault: Did not understand "MustUnderstand" header(s) 
> 
>   
>  
>  
> 
>     Can you paste your full soap msg which goes out to the wire and your
> java pgm which builds this soap msg.  
>  
> 
>   
>  
> 
>     rgds, 
> 
> Rajesh Anand 
>  Email:[EMAIL PROTECTED] 
>  
> 
> -----Original Message-----
>  From: Manuel Nicolas Ortuño [mailto:[EMAIL PROTECTED] 
>  Sent: 26 May 2005 14:07
>  To: [email protected]
>  Subject: AxisFault: Did not understand "MustUnderstand" header(s) 
> 
> I have a client of web service that use axis api. When I call the service I
> get the exception 
> 
>   
> 
> AxisFault 
> 
>  faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand 
> 
>  faultSubcode: 
> 
>  faultString: Did not understand &quot;MustUnderstand&quot; header(s): 
> 
>  faultActor: 
> 
>  faultNode: 
> 
>  faultDetail: 
> 
>       {http://xml.apache.org/axis/}stackTrace: 
> 
> ...
> 
> [Message clipped]

Reply via email to