Hi
you are right inasfar as that "wsdl" is not correct (invalid)
sorry no way to to dynamic webservices without valid wsdl-document
you could contact the source very well IMHO cause all other consumers will have 
the same problem -
Cheers, Wolfgang

--- On Thu, 4/2/09, Clifton B. Sothoron Jr. <clifton.sothoro...@logixml.com> 
wrote:

From: Clifton B. Sothoron Jr. <clifton.sothoro...@logixml.com>
Subject: First Element must contain the local name, Envelope , but found 
definitions
To: axis-dev@ws.apache.org
Date: Thursday, April 2, 2009, 3:34 AM




 
 






I’m
testing a dynamic client Axis 2 application. It works fine except that one web
service I’m testing with is giving me a problem. The ServiceClient.sendReceive
invocation generates the message “First Element must contain the local
name, Envelope , but found definitions”.  The URL is 
http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl.
I’ve looked at the returned XML via a sniffer and it indeed has
definitions in it.  Obviously I can’t change the server side. Is there
a way around this using Axis 2 in a dynamic client?  The following code
illustrates the problem. 

   

import
org.apache.axiom.om.OMAbstractFactory; 

import
org.apache.axiom.om.OMElement; 

import
org.apache.axiom.om.OMFactory; 

import
org.apache.axis2.Constants; 

import
org.apache.axiom.om.OMNamespace; 

import
org.apache.axis2.AxisFault; 

import
org.apache.axis2.addressing.EndpointReference; 

import
org.apache.axis2.client.Options; 

import
org.apache.axis2.client.ServiceClient; 

   

   

public
class Forecasts{ 

       
private static EndpointReference targetEPR = new EndpointReference( 

          
             "http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl";); 

       
public static void main(String[] args) { 

               
try { 

   

                       
ServiceClient client = new ServiceClient(); 

                       
OMFactory fac = OMAbstractFactory.getOMFactory(); 

                       
OMNamespace ns =
fac.createOMNamespace("http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl";,
 

 

"tns"); 

   

                                    OMElement
payload = fac.createOMElement("LatLonListZipCode", ns); 

                       
OMElement value = fac.createOMElement("ZipCode", ns); 

                 
      value.setText("22102"); 

                                    payload.addChild(value); 

   

                       
Options options = new Options(); 

                                    options.setTimeOutInMilliSeconds(60000); 

                                    
options.setTransportInProtocol(Constants.TRANSPORT_HTTP); 

                                    options.setTo(targetEPR); 

                                    
options.setAction("http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl/LatLonListZipCode";);
 

                                    client.setOptions(options); 

                       
//Blocking invocation 

   

                       
OMElement result = client.sendReceive(payload); 

   

                       
System.out.println(result.toString()); 

   

               
} catch (AxisFault axisFault) { 

                       
axisFault.printStackTrace(); 

    
           } 

   

       
} 

} 

   

   

Thanks
in advance, 

Clifton
Sothoron 

LogiXML,
Development Department

7900 Westpark Drive, Suite T107 |  McLean, VA 22102

(703) 752-9700  Ext. 162 | fax: (703) 773-6903

clifton.sothoro...@logixml.com
| http://www.logixml.com 

   



 




      

Reply via email to