The answer to your last question is yes. As for the rest, look at the sample for the dynamic client, a picture is worth 1000 words.
On Sun, Jan 11, 2009 at 2:39 PM, elhanan <[email protected]> wrote: > > but if i won't see any source, how will i use it? it's a chicken and egg > kinda thing ? > > my types are not very complex, usually one bean, containing simple types, or > other array complex types. > > i tried using xmlbeans with axis2, but i created beans what tied to xmlbeans > lib. > > wil wsd2java create java beans with just annotations? then i would be able > to switch back to glue anytime, (that's the main thought here) > > Benson Margulies-4 wrote: >> >> CXF has a thing called the DynamicClient. At runtime, the >> DynamicClientFactory will eat the WSDL and create a proxy client. You >> never see any source. You can use 'invoke'-style methods to call it. >> It gets clumsier and clumsier depending on how complex your types are. >> You could give it a whirl and see what happens. >> >> Dan might know, as an alternative, if xmlbeans has an xsd-to-pojo >> generator that you could use to set up pojo-enough client objects. >> >> Or, you might find that you don't object to the plague of snails >> (@nnotations) that you get by using CXF's wsdl2java tool. >> >> >> On Sun, Jan 11, 2009 at 1:58 PM, elhanan <[email protected]> wrote: >>> >>> what do you mean complex object in flight? >>> >>> and for commiting, well if i were to write such code, i doubt my company >>> would allow me to commit it as open source, but i always wanted to join >>> an >>> os project development as a hobby, i was looking into spring and seam, >>> but >>> i didnt' get the time to actually learn them good enough to develop to. >>> >>> >>> Benson Margulies-4 wrote: >>>> >>>> This depends on the complexity of your API. >>>> >>>> If you've got complex objects in flight, then you'd have to run >>>> wsdl2java, and that will add JAXB and JAX-WS annotations. 'Not quite >>>> pojos'. >>>> >>>> It would be nice if we could auto-generate classes that, when combined >>>> with the the Simple front end and Aegis, would conform to a given >>>> WSDL, but we've haven't got that code. If you'd like to write that >>>> code ... well, I'd be very happy to mentor/advise/commit for you. >>>> >>>> >>>> >>>> On Sun, Jan 11, 2009 at 11:22 AM, elhanan <[email protected]> wrote: >>>>> >>>>> hi.. >>>>> >>>>> we are considering on switching our current web service framework which >>>>> is >>>>> glue to something else >>>>> >>>>> glue worked by gettting a wsdl, and then generating simple pojo's which >>>>> had >>>>> no dependencies, and generating a mapping document based on wsdl's >>>>> schemas. >>>>> it had one interface which created a dynamic proxy at runtime, which >>>>> recived >>>>> an array of objects and return an object. >>>>> >>>>> we are interested in something which is as close as possible: >>>>> >>>>> given the following wsdl: >>>>> <?xml version="1.0" encoding="utf-16"?> >>>>> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >>>>> xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" >>>>> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" >>>>> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" >>>>> xmlns:tns="http://Phoenix.co.il/UnderWrite" >>>>> xmlns:s1="http://Phoenix.ESB.Hitum.Schemas.GreenSystemServices.Agent.AgentWSResponse" >>>>> xmlns:s="http://www.w3.org/2001/XMLSchema" >>>>> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" >>>>> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" >>>>> targetNamespace="http://Phoenix.co.il/UnderWrite" >>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> >>>>> <wsdl:documentation >>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">BizTalk >>>>> assembly "Phoenix.ESB.UnderWrite.Biztalk, Version=1.0.0.0, >>>>> Culture=neutral, >>>>> PublicKeyToken=3b97ca913d728b36" published web >>>>> service.</wsdl:documentation> >>>>> <wsdl:types> >>>>> <s:schema elementFormDefault="qualified" >>>>> targetNamespace="http://Phoenix.co.il/UnderWrite"> >>>>> <s:import >>>>> namespace="http://Phoenix.ESB.Hitum.Schemas.GreenSystemServices.Agent.AgentWSResponse" >>>>> /> >>>>> <s:element name="GetAgentDetails"> >>>>> <s:complexType> >>>>> <s:sequence> >>>>> <s:element minOccurs="0" maxOccurs="1" name="part" >>>>> type="tns:AgentWSRequest" /> >>>>> </s:sequence> >>>>> </s:complexType> >>>>> </s:element> >>>>> <s:complexType name="AgentWSRequest"> >>>>> <s:sequence> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="AgentNumber" type="s:int" /> >>>>> </s:sequence> >>>>> </s:complexType> >>>>> <s:element name="GetAgentDetailsResponse"> >>>>> <s:complexType> >>>>> <s:sequence> >>>>> <s:element minOccurs="0" maxOccurs="1" >>>>> ref="s1:AgentWSResponse" >>>>> /> >>>>> </s:sequence> >>>>> </s:complexType> >>>>> </s:element> >>>>> </s:schema> >>>>> <s:schema elementFormDefault="qualified" >>>>> targetNamespace="http://Phoenix.ESB.Hitum.Schemas.GreenSystemServices.Agent.AgentWSResponse"> >>>>> <s:element name="AgentWSResponse" type="s1:AgentWSResponse" /> >>>>> <s:complexType name="AgentWSResponse"> >>>>> <s:sequence> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="ResponseCode" type="s:short" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="ResponseDescription" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="AgentName" type="s:string" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="CancelledDate" type="s:date" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="Street" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="HouseNumber" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="City" type="s:string" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="ZipCode" type="s:int" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="AreaCode" type="s:short" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="PhoneNumber" type="s:int" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="AreaCode2" type="s:short" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="PhoneNumber2" type="s:int" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="InspectorNumber" type="s:short" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="SuperInspectorNumber" type="s:short" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="StaffNumber" type="s:short" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="AgenceNumber" type="s:int" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="StaffName" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="EmployeeNumber" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="ProductionConfirmCode" type="s:string" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="AddProductionLifePolicy" type="s:short" /> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="AddProductionHealthPolicy" type="s:short" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="AddLoginEmployee1" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="AddLoginEmployee2" type="s:string" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="Result" type="s1:AgentWSResponseResult" /> >>>>> </s:sequence> >>>>> </s:complexType> >>>>> <s:complexType name="AgentWSResponseResult"> >>>>> <s:sequence> >>>>> <s:element minOccurs="1" maxOccurs="1" form="unqualified" >>>>> name="Code" type="s:int" /> >>>>> <s:element minOccurs="0" maxOccurs="1" form="unqualified" >>>>> name="Description" type="s:string" /> >>>>> </s:sequence> >>>>> </s:complexType> >>>>> </s:schema> >>>>> </wsdl:types> >>>>> <wsdl:message name="GetAgentDetailsSoapIn"> >>>>> <wsdl:part name="parameters" element="tns:GetAgentDetails" /> >>>>> </wsdl:message> >>>>> <wsdl:message name="GetAgentDetailsSoapOut"> >>>>> <wsdl:part name="parameters" element="tns:GetAgentDetailsResponse" >>>>> /> >>>>> </wsdl:message> >>>>> >>>>> >>>>> we have attempted using axis2 with jibx, however the problems is in the >>>>> top >>>>> level elements GetAgentDetails and GetAgentDetailsResponse. glue did >>>>> not >>>>> generate these on their sub elements, (we would like to use same sub >>>>> elements if possible) i'm guessing it created these elements on the >>>>> fly. >>>>> >>>>> is CXF capable of doing this? >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21400946.html >>>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>>> >>>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21402626.html >>> Sent from the cxf-user mailing list archive at Nabble.com. >>> >>> >> >> > > -- > View this message in context: > http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21403216.html > Sent from the cxf-user mailing list archive at Nabble.com. > >
