Hey Sukma,
thanks for the response - I oringally went with the second option
but I was getting an exception
on the StringReader. I think I know what the problem is - at least you
verified for me that I am on
the right path. I appreciate it.
Many regards once again
Sukma Agung Verdianto wrote:
Hi Demetris,
To read a local file you could simply use
"file:///path/to/wsdl/file.wsdl" as readWSDL argument
-> reader.readWSDL("file:///path/to/your/wsdl");,
Or if you have a WSDL serialized in String, you could
use reader.readWSDL(null, new InputSource(new StringReader(wsdlString)));
Regards,
Sukma
On Fri, Feb 22, 2008 at 1:22 PM, Demetris G <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Hi all,
does anyone know of a piece of code similar to the one below that
can read/parse a local WSDL file
serialized in a string rather than a remote WSDL given by a URI?
Thanks
Sukma Agung Verdianto wrote:
> Hi Demetris,
>
> You can try to use wsdl4j
(http://sourceforge.net/projects/wsdl4j) to
> get the operations of specified wsdl file. (AFAIK, Axis2 uses
this in
> their wsdl2java code)
>
> public static void main(String[] args) throws Exception {
>
> WSDLFactory fac = WSDLFactoryImpl.newInstance();
>
> WSDLReader reader = fac.newWSDLReader();
>
> Definition def =
> reader.readWSDL("http://api.google.com/GoogleSearch.wsdl");
>
> Map services = def.getServices();
>
> for(Object serviceKey : services.keySet()) {
>
> QName serviceQName = (QName) serviceKey;
>
> Service service = (Service) services.get(serviceQName);
>
> System.out.println("Namespace: " +
> service.getQName().getNamespaceURI() + ", Service Name: " +
> service.getQName().getLocalPart());
>
> Map ports = service.getPorts();
>
> for(Object portKey : ports.keySet()) {
>
> String portName = (String) portKey;
>
> Port port = (Port) ports.get(portName);
>
> System.out.println(" Namespace: " +
> port.getBinding().getQName().getNamespaceURI() + ", Binding
Name: " +
> port.getBinding().getQName().getLocalPart());
>
> List operations = port.getBinding().getBindingOperations();
>
> for(Object operation : operations) {
>
> BindingOperation op = (BindingOperation) operation;
>
> System.out.print(" Operation Name: " + op.getName());
>
> List ll = op.getExtensibilityElements();
>
> for(Object soap : ll) {
>
> if(SOAPOperation.class.isInstance(soap)) {
>
> System.out.print(" (" + ((SOAPOperation)soap).getSoapActionURI()
+ ")");
>
> }
>
> }
>
> System.out.println();
>
> }
>
> }
>
> }
>
> }
>
>
> Above code read remote wsdl, and extract its information.
>
> Regards,
> Sukma
>
> On Feb 17, 2008 2:09 PM, Demetris G <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>
>
> Hi all,
>
> I am trying to use the wsdlParser from the Axis API to parse
> the methods
> out of an incoming WSDL file - does anyone who has used this
> before have
> any info on how to use this tool? OR any other way I could
get the
> operations
> of the remote service out of the WSDL file? I would
appreciate it.
>
> Thanks
>
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> For additional commands, e-mail:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]