[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: WSDL2RPG - RC4 available with workaround for Axis bug AXIS-2095
Magne,
Can you perhaps provide the "CMBGenericWebService" Web service as a Tomcat web application? I almost
can't do anything without a test service.
It was great if you could create a ready-to-go .war file with that service. You may contact me by
e-mail at thomas_dot_raddatz_at_tools400_dot_de to discuss the details.
Regards,
Thomas.
magne@xxxxxxxxx schrieb:
> Thomas,
>
> I tried wsdl2java and hope that you can get this to work with
> WSDL2RPG.
>
> I also look forward to the WSDL2RPG and attachments implementation. As
> far as I've seen, the attachments are like mail attachments (mime
> types). Perhaps Scott has some ideas on how to implement attachments
> in WSDL2RPG?
>
> Here is the wsdl2java cmd I used:
>
> C:\Programfiler\IBM\SDP70A\runtimes\base_v61\profiles\AppSrv01\bin>wsd
> l2java -ro
> le client -o c:\wsdl2rpg\cm
> [1]http://80.203.170.170/marianne/CMBGenericWebService.
> wsdl
>
> Here is some java code implementation of 'ArrayOf_tns2_swaRef'. Hope
> this is helpfull info for you.
>
> private void initTypeMapping() {
> javax.xml.rpc.encoding.TypeMapping tm =
> super.getTypeMapping(com.ibm.ws.webservices.engine.Constants.URI_LITER
> AL_ENC);
> java.lang.Class javaType = null;
> javax.xml.namespace.QName xmlType = null;
> javax.xml.namespace.QName compQName = null;
> javax.xml.namespace.QName compTypeQName = null;
> com.ibm.ws.webservices.engine.encoding.SerializerFactory sf =
> null;
> com.ibm.ws.webservices.engine.encoding.DeserializerFactory df
> = null;
> javaType = com.ibm.mm.webservices.was60.CMBXMLResponse.class;
> xmlType =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("[2]http://
> was60.webservices.mm.ibm.com", "CMBXMLResponse");
> sf =
> com.ibm.ws.webservices.engine.encoding.ser.BaseSerializerFactory.creat
> eFactory(com.ibm.ws.webservices.engine.encoding.ser.BeanSerializerFact
> ory.class, javaType, xmlType);
> df =
> com.ibm.ws.webservices.engine.encoding.ser.BaseDeserializerFactory.cre
> ateFactory(com.ibm.ws.webservices.engine.encoding.ser.BeanDeserializer
> Factory.class, javaType, xmlType);
> if (sf != null || df != null) {
> tm.register(javaType, xmlType, sf, df);
> }
>
> javaType = javax.activation.DataHandler[].class;
> xmlType =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("[3]http://
> was60.webservices.mm.ibm.com", "ArrayOf_tns2_swaRef");
> compQName =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("",
> "swaRef");
> compTypeQName =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("[4]http://
> ws-i.org/profiles/basic/1.1/xsd", "swaRef");
> sf =
> com.ibm.ws.webservices.engine.encoding.ser.BaseSerializerFactory.creat
> eFactory(com.ibm.ws.webservices.engine.encoding.ser.ArraySerializerFac
> tory.class, javaType, xmlType, compQName, compTypeQName);
> df =
> com.ibm.ws.webservices.engine.encoding.ser.BaseDeserializerFactory.cre
> ateFactory(com.ibm.ws.webservices.engine.encoding.ser.ArrayDeserialize
> rFactory.class, javaType, xmlType, compQName, compTypeQName);
> if (sf != null || df != null) {
> tm.register(javaType, xmlType, sf, df);
> }
>
> javaType = java.lang.String[].class;
> xmlType =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("[5]http://
> was60.webservices.mm.ibm.com", "ArrayOf_xsd_string");
> compQName =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("",
> "string");
> compTypeQName =
> com.ibm.ws.webservices.engine.utils.QNameTable.createQName("[6]http://
> www.w3.org/2001/XMLSchema", "string");
> sf =
> com.ibm.ws.webservices.engine.encoding.ser.BaseSerializerFactory.creat
> eFactory(com.ibm.ws.webservices.engine.encoding.ser.ArraySerializerFac
> tory.class, javaType, xmlType, compQName, compTypeQName);
> df =
> com.ibm.ws.webservices.engine.encoding.ser.BaseDeserializerFactory.cre
> ateFactory(com.ibm.ws.webservices.engine.encoding.ser.ArrayDeserialize
> rFactory.class, javaType, xmlType, compQName, compTypeQName);
> if (sf != null || df != null) {
> tm.register(javaType, xmlType, sf, df);
> }
>
> }
>
>
> public class CMBXMLResponse_Helper {
> // Type metadata
> private static final
> com.ibm.ws.webservices.engine.description.TypeDesc typeDesc =
> new
> com.ibm.ws.webservices.engine.description.TypeDesc(CMBXMLResponse.clas
> s);
>
> static {
> typeDesc.setOption("buildNum","cf10631.06");
> com.ibm.ws.webservices.engine.description.FieldDesc field =
> new com.ibm.ws.webservices.engine.description.ElementDesc();
> field.setFieldName("xmlResponseText");
>
> field.setXmlName(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("", "xmlResponseText"));
>
> field.setXmlType(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("[7]http://www.w3.org/2001/XMLSchema", "string"));
> typeDesc.addFieldDesc(field);
> field = new
> com.ibm.ws.webservices.engine.description.ElementDesc();
> field.setFieldName("contentID");
>
> field.setXmlName(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("", "contentID"));
>
> field.setXmlType(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("[8]http://was60.webservices.mm.ibm.com",
> "ArrayOf_xsd_string"));
> typeDesc.addFieldDesc(field);
> field = new
> com.ibm.ws.webservices.engine.description.ElementDesc();
> field.setFieldName("attachments");
>
> field.setXmlName(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("", "attachments"));
>
> field.setXmlType(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("[9]http://was60.webservices.mm.ibm.com",
> "ArrayOf_tns2_swaRef"));
> typeDesc.addFieldDesc(field);
> field = new
> com.ibm.ws.webservices.engine.description.ElementDesc();
> field.setFieldName("mimeTypes");
>
> field.setXmlName(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("", "mimeTypes"));
>
> field.setXmlType(com.ibm.ws.webservices.engine.utils.QNameTable.create
> QName("[10]http://was60.webservices.mm.ibm.com",
> "ArrayOf_xsd_string"));
> typeDesc.addFieldDesc(field);
> };
>
>
> Best regards,
>
> Magne
>
>
>
> >-----Original Message-----
> >From: Thomas Raddatz [mailto:thomas.raddatz@xxxxxxxxxxx]
> >Sent: Saturday, January 5, 2008 06:59 PM
> >To: 'HTTPAPI and FTPAPI Projects'
> >Subject: Re: WSDL2RPG - RC4 available with workaround for Axis bug
> AXIS-2095
> >
> >Magne,
> >
> >I will look at the Java implementation, but it may take a while.
> >
> >Regards,
> >
> >Thomas.
> >
> >magne@xxxxxxxxx schrieb:
> >> Hi Thomas,
> >>
> >> it seems like wsdl2java works on the CMBGenericWebService.wsdl.
> >>
> >> You might get an answere in the java implementation:
> >>
> >>
> [1]http://publib.boulder.ibm.com/infocenter/cmgmt/v8r4m0/index.jsp?to
> >>
> pic=/com.ibm.samples.doc/samples/webservices/GenericWebServiceSampleWA
> >> S6.readme.htm
> >>
> >> Best regards,
> >>
> >> Magne
> >>
> >>
> >> >-----Original Message-----
> >> >From: Thomas Raddatz [mailto:thomas.raddatz@xxxxxxxxxxx]
> >> >Sent: Saturday, January 5, 2008 04:55 PM
> >> >To: 'HTTPAPI and FTPAPI Projects'
> >> >Subject: Re: WSDL2RPG - RC4 available with workaround for Axis bug
> >> AXIS-2095
> >> >
> >> >Magne,
> >> >
> >> >First of all I want to let you know that I know how annoying these
> >> "Pointer not set ..." errors are.
> >> >Of course I could catch them and send a message but I decided to
> do
> >> that not. In most cases the reason
> >> >for this error is that WSDL2RPG could not find a type in its
> >> repository, which should not happen.
> >> >
> >> >The problem with 'CMBGenericWebService' is that the type
> 'wsi:swaRef'
> >> is not defined in the WSDL file.
> >> >Hence WSDL2RPG does not know that type when it tries to find the
> >> referenced type of 'swaRef' of
> >> >'ArrayOf_tns2_swaRef'.
> >> >
> >> ><?xml version="1.0" encoding="UTF-8"?>
> >> ><wsdl:definitions
> >> targetNamespace="http://was60.webservices.mm.ibm.com"
> >> >xmlns:intf="http://was60.webservices.mm.ibm.com"
> >> xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd"
> >> >xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >> >xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >> xmlns:impl="http://was60.webservices.mm.ibm.com">
> >> > <wsdl:types>
> >> > <schema targetNamespace="http://was60.webservices.mm.ibm.com"
> >> >xmlns="http://www.w3.org/2001/XMLSchema"
> >> xmlns:impl="http://was60.webservices.mm.ibm.com"
> >> >xmlns:intf="http://was60.webservices.mm.ibm.com"
> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >> >xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd"
> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> >> > <import namespace="http://ws-i.org/profiles/basic/1.1/xsd"/>
> >> >...
> >> > <complexType name="ArrayOf_tns2_swaRef">
> >> > <sequence>
> >> > <element maxOccurs="unbounded" minOccurs="0" name="swaRef"
> >> nillable="true" type="wsi:swaRef"/>
> >> > </sequence>
> >> > </complexType>
> >> >
> >> >WSDL2RPG knows that this type belongs to the 'wsi'
> >> (http://ws-i.org/profiles/basic/1.1/xsd) namespace
> >> >but it does not know the schema location. If it knew the schema
> >> location it could try to load the
> >> >types defined there.
> >> >
> >> >I am stuck with this problem because I have no idea how to solve
> it.
> >> By the way also the Eclipse XML
> >> >editor as well as XMLSpy complains about the unknown type. So they
> >> have the very same problem.
> >> >
> >> >I did a quick search for "http://ws-i.org/profiles/basic/1.1/xsd"
> and
> >> now I know that 'swaRef' is an
> >> >element of type 'xsd:anyURI'. But I still do not know how to tell
> >> WSDL2RPG about it.
> >> >
> >> >Any ideas?
> >> >
> >> >Last but not least attachments are not (yet) supported. Before I
> >> probably start with attachments I
> >> >want to have a stable release supporting the styles "rpc" /
> >> "document" and the uses "literal" / "encoded".
> >> >
> >> >Regards,
> >> >
> >> >Thomas.
> >> >
> >> >
> >> >magne@xxxxxxxxx schrieb:
> >> >> Hi Thomas,
> >> >>
> >> >> I tried wsdl2rpg on one of the IBM Content Management Web
> Service
> >> wsdl
> >> >> files and got this error:
> >> >>
> >> >> WSDL2RPG
> >> >> URL('http://80.203.170.170/marianne/CMBGenericWebService.wsdl')
> S
> >> >> RCFILE(CMSRC/QRPGLESRC)
> >> >> SRCMBR(CMBGENERIC)
> >> >> Pointer not set for location
> >> >> referenced.
> >> >> Funksjonsfeil. MCH3601 uoverv?ket av WSDL2RPG in stmt
> 0000078400,
> >> >> instruksjonen
> >> >> X'0000'.
> >> >> The call to main ended in error (C G D
> >> >> F).
> >> >> The call to main ended in error (C G D
> >> >> F).
> >> >>
> >> >> Seems like the error is in WSDL2RPG WSDL2R50
> >> WSDL2R50_Type_isXmlArray
> >> >> stmt 0000078400.
> >> >>
> >> >> Any idea what's wrong?
> >> >>
> >> >> Best regards,
> >> >>
> >> >> Magne
> >> >>
> >> >> >-----Original Message-----
> >> >> >From: Thomas Raddatz [mailto:thomas.raddatz@xxxxxxxxxxx]
> >> >> >Sent: Friday, December 28, 2007 06:34 PM
> >> >> >To: 'HTTPAPI and FTPAPI Projects'
> >> >> >Subject: Re: WSDL2RPG - RC4 available with workaround for Axis
> bug
> >> >> AXIS-2095
> >> >> >
> >> >> >Magne,
> >> >> >
> >> >> >You have to use the latest HTTP API beta version in order to
> run
> >> the
> >> >> WSDL2RPG utility or the RPG Web
> >> >> >service client stubs.
> >> >> >
> >> >> >I added http_parser_switch_cb() to the HTTP API because of
> >> WSDL2RPG.
> >> >> >
> >> >> >Please download the latest HTTP API version from:
> >> >> >
> >> >> > http://www.scottklement.com/httpapi/beta/
> >> >> >
> >> >> >Thomas.
> >> >> >
> >> >> >
> >> >> >magne@xxxxxxxxx schrieb:
> >> >> >> Hi Thomas,
> >> >> >>
> >> >> >> thanks a lot!
> >> >> >>
> >> >> >> The wsdl2rpg cmd created the rpg code.
> >> >> >>
> >> >> >> But when i try to compile (crtrpgmod) i get this error:
> >> >> >>
> >> >> >> *RNF7030 HTTP_PARSER_SWITCH_CB...
> >> >> >> **UNDEF** 5025M 5097M
> >> >> >>
> >> >> >> 5024 namespace =
> >> >> >> 'http://schemas.xmlsoap.org/soap/envelope/');
> >> >> >> 5025
> >> >> >> http_parser_switch_cb(
> >> >> >> 5026
> >> >> >> %addr(g_soapFault)
> >> >> >> 5027 :
> >> >> >> %paddr('soapenv_soapFaultStart')
> >> >> >> 5028 :
> >> >> >> %paddr('soapenv_soapFaultEnd'));
> >> >> >> 5029
> >> >> >> endsl;
> >> >> >> 5030
> >> >> >>
> >> >> >> 5031
> >> >> >> /end-free
> >> >> >>
> >> >> >> Do you know where http_parser_switch_cb is defined?
> >> >> >>
> >> >> >> Best regards
> >> >> >>
> >> >> >> Magne
> >> >> >>
> >> >> >>
> >> >> >> >-----Original Message-----
> >> >> >> >From: Thomas Raddatz [mailto:thomas.raddatz@xxxxxxxxxxx]
> >> >> >> >Sent: Thursday, December 27, 2007 05:37 PM
> >> >> >> >To: 'HTTPAPI and FTPAPI Projects'
> >> >> >> >Subject: Re: WSDL2RPG - RC4 available with workaround for
> Axis
> >> bug
> >> >> >> AXIS-2095
> >> >> >> >
> >> >> >> >Magne,
> >> >> >> >
> >> >> >> >I fixed the problem and released RC5. I was able to
> >> successfully
> >> >> >> generate a stub for the 'getcustinf'
> >> >> >> >operation. But I could not call the Web service. I always
> >> received
> >> >> a
> >> >> >> "Error 404: No target servlet
> >> >> >> >configured for uri:
> >> >> >> /TennantWebServiceProject/services/GETCUSTINFServices" error
> >> >> messages.
> >> >> >> The URL
> >> >> >> >that I used to call the service was
> >> >> >>
> >> >>
> >>
> >"http://80.203.170.170:9080/TennantWebServiceProject/services/GETCUST
> >> >> >> INFServices".
> >> >> >> >
> >> >> >> >Please download and install RC5. It should work for you,
> now.
> >> >> >> >
> >> >> >> >Thomas.
> >> >> >> >
> >> >> >> >
> >> >> >> >magne@xxxxxxxxx schrieb:
> >> >> >> >> Hi Thomas,
> >> >> >> >>
> >> >> >> >> I still get an error when I try this cmd:
> >> >> >> >>
> >> >> >> >> WSDL2RPG
> >> >> >> URL('http://80.203.170.170/marianne/GETCUSTINFServices.wsdl')
> >> >> >> >> SRC
> >> >> >> >> FILE(QGPL/QRPGLESRC) SRCMBR(WSDLTEST)
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> Pointer not set for location
> >> >> >> >> referenced.
> >> >> >> >> The call to main ended in error (C G D
> >> >> >> >> F).
> >> >> >> >> Message . . . . : The call to main ended in error (C G D
> >> >> >> >> F).
> >> >> >> >> Cause . . . . . : RPG procedure WSDL2R01 in program
> >> >> >> >> WSDL2RPG/WSDL2RPG at
> >> >> >> >> statement 088600 called program or procedure main, which
> >> ended
> >> >> in
> >> >> >> >> error. If
> >> >> >> >> the name is *N, the call was a bound call by procedure
> >> >> >> >> pointer.
> >> >> >> >>
> >> >> >> >> Can this be a parameter error? Seems like there is a
> >> parameter
> >> >> >> pointer
> >> >> >> >> error....
> >> >> >> >>
> >> >> >> >> Must the the wsdl point to a working web service? My wsdl
> >> does
> >> >> >> not....
> >> >> >> >>
> >> >> >> >> <wsdl:service name="GETCUSTINFServicesService">
> >> >> >> >>
> >> >> >> >> [1]- <wsdl:port
> binding="intf:GETCUSTINFServicesSoapBinding"
> >> >> >> >> name="GETCUSTINFServices">
> >> >> >> >> <wsdlsoap:address
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> location="http://localhost:9080/TennantWebServiceProject/services/GETC
> >> >> >> >> USTINFServices" />
> >> >> >> >> </wsdl:port>
> >> >> >> >> </wsdl:service>
> >> >> >> >>
> >> >> >> >> Best regards
> >> >> >> >>
> >> >> >> >> Magne
> >> >> >> >
> >> >> >>
> >> >>
> >>
> >---------------------------------------------------------------------
> >> >> >> --
> >> >> >> >This is the FTPAPI mailing list. To unsubscribe, please go
> to:
> >> >> >> >http://www.scottklement.com/mailman/listinfo/ftpapi
> >> >> >>
> >> >>
> >>
> >---------------------------------------------------------------------
> >> >> >> --
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> ----------------------------------------------------------------------
> >> >> --
> >> >> >>
> >> >> >>
> >> >>
> >>
> ----------------------------------------------------------------------
> >> >> -
> >> >> >> This is the FTPAPI mailing list. To unsubscribe, please go
> to:
> >> >> >> http://www.scottklement.com/mailman/listinfo/ftpapi
> >> >> >>
> >> >>
> >>
> ----------------------------------------------------------------------
> >> >> -
> >> >>
> >>
> >---------------------------------------------------------------------
> >> >> --
> >> >> >This is the FTPAPI mailing list. To unsubscribe, please go to:
> >> >> >http://www.scottklement.com/mailman/listinfo/ftpapi
> >> >>
> >>
> >---------------------------------------------------------------------
> >> >> --
> >> >> >
> >> >>
> >> >>
> >> >>
> >>
> ----------------------------------------------------------------------
> >> --
> >> >>
> >> >>
> >>
> ----------------------------------------------------------------------
> >> -
> >> >> This is the FTPAPI mailing list. To unsubscribe, please go to:
> >> >> http://www.scottklement.com/mailman/listinfo/ftpapi
> >> >>
> >>
> ----------------------------------------------------------------------
> >> -
> >>
> >---------------------------------------------------------------------
> >> --
> >> >This is the FTPAPI mailing list. To unsubscribe, please go to:
> >> >http://www.scottklement.com/mailman/listinfo/ftpapi
> >>
> >---------------------------------------------------------------------
> >> --
> >> >
> >>
> >> References
> >>
> >> 1.
> http://publib.boulder.ibm.com/infocenter/cmgmt/v8r4m0/index.jsp?topic=
> /com.ibm.samples.doc/samples/webservices/GenericWebServiceSampleWAS6.r
> eadme.htm
> >>
> >>
> >>
> >>
> ----------------------------------------------------------------------
> --
> >>
> >>
> ----------------------------------------------------------------------
> -
> >> This is the FTPAPI mailing list. To unsubscribe, please go to:
> >> http://www.scottklement.com/mailman/listinfo/ftpapi
> >>
> ----------------------------------------------------------------------
> -
> >---------------------------------------------------------------------
> --
> >This is the FTPAPI mailing list. To unsubscribe, please go to:
> >http://www.scottklement.com/mailman/listinfo/ftpapi
> >---------------------------------------------------------------------
> --
> >
>
> References
>
> 1. http://80.203.170.170/marianne/CMBGenericWebService
> 2. http://was60.webservices.mm.ibm.com/
> 3. http://was60.webservices.mm.ibm.com/
> 4. http://ws-i.org/profiles/basic/1.1/xsd
> 5. http://was60.webservices.mm.ibm.com/
> 6. http://www.w3.org/2001/XMLSchema
> 7. http://www.w3.org/2001/XMLSchema
> 8. http://was60.webservices.mm.ibm.com/
> 9. http://was60.webservices.mm.ibm.com/
> 10. http://was60.webservices.mm.ibm.com/
>
>
>
> ------------------------------------------------------------------------
>
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------