If they comply with the JAX-WS standard, they do. On Sat, Jan 17, 2009 at 11:55 AM, אלחנן מעיין <[email protected]> wrote:
> Ok, do you think this leads other source generators to do the same thing? > > -----Original Message----- > From: Daniel Kulp [mailto:[email protected]] > Sent: Friday, January 16, 2009 11:21 PM > To: [email protected] > Cc: אלחנן מעיין > Subject: Re: cxf's dynamic proxies ? > > On Friday 16 January 2009 9:01:49 am אלחנן מעיין wrote: > > Yea, but get GetAgentDetails is not refed, only the response is. > > Right, but the rules for unwrapping apply to the whole operation. If > either > the request OR the response cannot be unwrapped, then the whole operation > is > not unwrapped. > > Dan > > > > -----Original Message----- > > From: Daniel Kulp [mailto:[email protected]] > > Sent: Thursday, January 15, 2009 11:19 PM > > To: [email protected] > > Cc: Benson Margulies; אלחנן מעיין > > Subject: Re: cxf's dynamic proxies ? > > > > On Tuesday 13 January 2009 8:00:55 am Benson Margulies wrote: > > > 2) Something about your wsdl makes CXF/JAX-WS think that those extra > > > wrappers are appropriate. Sadly, I'm not an expert in this area. > > > Perhaps someone else can explain it. This has nothing to do with the > > > wire, only to do with the Java classes. So it should not effect > > > compatibility. There may be some WSDL tweak that would change this. > > > I'm copying Dan who often rescues me from this subject matter. > > > > The issue is the response type: > > <s:element name="GetAgentDetailsResponse"> > > <s:complexType> > > <s:sequence> > > <s:element minOccurs="0" maxOccurs="1" > ref="s1:AgentWSResponse" > > /> </s:sequence> > > </s:complexType> > > </s:element> > > > > To unwrap, the element must NOT be a "ref". If you change that to: > > <s:element minOccurs="0" maxOccurs="1" > > type="s1:AgentWSResponse" name="AgentWSResponse"/> > > > > it may unwrap it. > > > > Dan > > > > > On Tue, Jan 13, 2009 at 1:20 AM, <[email protected]> wrote: > > > > I'm assuming I wil; be able to actually use the jibx generated > > > > classes and not use reflection am I correct? > > > > > > > > > > > > > > > > Also one thing that deeply concerns is the use of > > > > GetAgentDetalils, in glue, I didn't have to use that object, it > > > > simply generated the agentWSRequest and I sent that one, to the > > > > proxy, I believe this is called unwrapped mode. If i use this > > > > here, I would have to use another object,t and thus break backwords > compatilbilty. > > > > > > > > > > > > ------------------------------ > > > > > > > > *From:* Benson Margulies [mailto:[email protected]] > > > > *Sent:* Monday, January 12, 2009 11:14 PM > > > > *To:* אלחנן מעיין > > > > *Subject:* Re: cxf's dynamic proxies ? > > > > > > > > > > > > > > > > Here's the client example I'm about to check in. > > > > > > > > > > > > /** > > > > * Licensed to the Apache Software Foundation (ASF) under one > > > > * or more contributor license agreements. See the NOTICE file > > > > * distributed with this work for additional information > > > > * regarding copyright ownership. The ASF licenses this file > > > > * to you under the Apache License, Version 2.0 (the > > > > * "License"); you may not use this file except in compliance > > > > * with the License. You may obtain a copy of the License at > > > > * > > > > * http://www.apache.org/licenses/LICENSE-2.0 > > > > * > > > > * Unless required by applicable law or agreed to in writing, > > > > * software distributed under the License is distributed on an > > > > * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > > > * KIND, either express or implied. See the License for the > > > > * specific language governing permissions and limitations > > > > * under the License. > > > > */ > > > > > > > > package demo.hw.client; > > > > > > > > import java.beans.BeanDescriptor; > > > > import java.beans.PropertyDescriptor; import java.io.File; import > > > > java.lang.reflect.Method; import java.net.URL; import > > > > java.util.List; > > > > > > > > import javax.xml.namespace.QName; > > > > > > > > import org.apache.cxf.endpoint.Client; import > > > > org.apache.cxf.endpoint.ClientImpl; > > > > import org.apache.cxf.endpoint.Endpoint; import > > > > org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; > > > > import org.apache.cxf.service.model.BindingInfo; > > > > import org.apache.cxf.service.model.BindingMessageInfo; > > > > import org.apache.cxf.service.model.BindingOperationInfo; > > > > import org.apache.cxf.service.model.MessagePartInfo; > > > > import org.apache.cxf.service.model.ServiceInfo; > > > > > > > > /** > > > > * > > > > */ > > > > public final class ComplexClient { > > > > > > > > private static final QName SERVICE_NAME > > > > = new QName("http://complex.demo.cxf.apache.org/", > > > > "ComplexImplService"); > > > > > > > > private ComplexClient() { > > > > } > > > > > > > > /** > > > > * @param args > > > > */ > > > > public static void main(String[] args) throws Exception { > > > > if (args.length == 0) { > > > > System.out.println("please specify wsdl"); > > > > System.exit(1); > > > > } > > > > > > > > URL wsdlURL; > > > > File wsdlFile = new File(args[0]); > > > > if (wsdlFile.exists()) { > > > > wsdlURL = wsdlFile.toURL(); > > > > } else { > > > > wsdlURL = new URL(args[0]); > > > > } > > > > > > > > System.out.println(wsdlURL); > > > > > > > > JaxWsDynamicClientFactory factory = > > > > JaxWsDynamicClientFactory.newInstance(); > > > > Client client = > > > > factory.createClient(wsdlURL.toExternalForm(), > > > > SERVICE_NAME); > > > > ClientImpl clientImpl = (ClientImpl) client; > > > > Endpoint endpoint = clientImpl.getEndpoint(); > > > > ServiceInfo serviceInfo = > > > > endpoint.getService().getServiceInfos().get(0); > > > > QName bindingName = new > > > > QName("http://complex.demo.cxf.apache.org/", > > > > "ComplexImplServiceSoapBinding"); > > > > BindingInfo binding = serviceInfo.getBinding(bindingName); > > > > //{ > > > > QName opName = new QName("http://Company.com/Application", > > > > "GetAgentDetails"); > > > > BindingOperationInfo boi = binding.getOperation(opName); > > > > BindingMessageInfo inputMessageInfo = boi.getInput(); > > > > List<MessagePartInfo> parts = > > > > inputMessageInfo.getMessageParts(); // only one part. > > > > MessagePartInfo partInfo = parts.get(0); > > > > Class<?> partClass = partInfo.getTypeClass(); > > > > System.out.println(partClass.getCanonicalName()); // > > > > GetAgentDetails > > > > Object inputObject = partClass.newInstance(); > > > > // Unfortunately, the slot inside of the part object is > > > > also called 'part'. > > > > // this is the descriptor for get/set part inside the > > > > GetAgentDetails class. > > > > PropertyDescriptor partPropertyDescriptor = new > > > > PropertyDescriptor("part", partClass); > > > > // This is the type of the class which really contains all > > > > the parameter information. > > > > Class<?> partPropType = > > > > partPropertyDescriptor.getPropertyType(); > > > > // AgentWSRequest > > > > System.out.println(partPropType.getCanonicalName()); > > > > Object inputPartObject = partPropType.newInstance(); > > > > > > > > partPropertyDescriptor.getWriteMethod().invoke(inputObject, > > > > inputPartObject); > > > > PropertyDescriptor numberPropertyDescriptor = new > > > > PropertyDescriptor("agentNumber", partPropType); > > > > > > > > numberPropertyDescriptor.getWriteMethod().invoke(inputPartObject, > > > > new Integer(314159)); > > > > > > > > Object[] result = client.invoke(opName, inputObject); > > > > Class<?> resultClass = result[0].getClass(); > > > > System.out.println(resultClass.getCanonicalName()); // > > > > GetAgentDetailsResponse > > > > PropertyDescriptor resultDescriptor = new > > > > PropertyDescriptor("agentWSResponse", resultClass); > > > > Object wsResponse = > > > > resultDescriptor.getReadMethod().invoke(result[0]); > > > > Class<?> wsResponseClass = wsResponse.getClass(); > > > > System.out.println(wsResponseClass.getCanonicalName()); > > > > PropertyDescriptor agentNameDescriptor = new > > > > PropertyDescriptor("agentName", wsResponseClass); > > > > String agentName = > > > > (String)agentNameDescriptor.getReadMethod().invoke(wsResponse); > > > > System.out.println("Agent name: " + agentName); > > > > > > > > } > > > > > > > > } > > > > > > > > On Mon, Jan 12, 2009 at 11:08 AM, <[email protected]> wrote: > > > > > > > > https://issues.apache.org/jira/secure/ManageAttachments.jspa?id=12 > > > > 41 > > > > 2202 > > > > > > > > > > > > > > > > done > > > > > > > > > > > > ------------------------------ > > > > > > > > *From:* Benson Margulies [mailto:[email protected]] > > > > *Sent:* Monday, January 12, 2009 5:38 PM > > > > *To:* אלחנן מעיין > > > > > > > > > > > > *Subject**:* Re: cxf's dynamic proxies ? > > > > > > > > > > > > > > > > It gives Apache permission to include it in the project. > > > > > > > > 2009/1/12 <[email protected]> > > > > > > > > What does it mean? > > > > > > > > > > > > ------------------------------ > > > > > > > > *From:* Benson Margulies [mailto:[email protected]] > > > > *Sent:* Monday, January 12, 2009 5:24 PM > > > > *To:* אלחנן מעיין > > > > > > > > > > > > *Subject**:* Re: cxf's dynamic proxies ? > > > > > > > > > > > > > > > > When you attach a file to a JIRA, you either say 'yes we may > > > > incorporate it' or 'no'. > > > > > > > > 2009/1/12 <[email protected]> > > > > > > > > What is license to apache selection? ( I never opened a bug In > > > > jira before). > > > > > > > > > > > > > > > > > > > > ------------------------------ > > > > > > > > *From:* Benson Margulies [mailto:[email protected]] > > > > *Sent:* Monday, January 12, 2009 4:59 PM > > > > *To:* אלחנן מעיין > > > > *Subject:* Re: cxf's dynamic proxies ? > > > > > > > > > > > > > > > > Can you open a JIRA and attach it with the 'license to Apache' > > > > selection? Then I could directly turn it into a sample ;-) > > > > > > > > On Mon, Jan 12, 2009 at 9:42 AM, <[email protected]> wrote: > > > > > > > > sure, i allready did that, but here it is again: > > > > > > > > <?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.AgentWSR > > > >es pons e" 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.AgentWSR > > > >es > > > >pons > > > >e" /> > > > > <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.AgentWSR > > > >es > > > >pons > > > >e "> > > > > <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> > > > > > > > > <wsdl:portType > > > > > > > >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > >_P rtSo ap"> <wsdl:operation name="GetAgentDetails"> > > > > <wsdl:input message="tns:GetAgentDetailsSoapIn" /> > > > > <wsdl:output message="tns:GetAgentDetailsSoapOut" /> > > > > </wsdl:operation> > > > > </wsdl:portType> > > > > <wsdl:binding > > > > > > > >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > >_P > > > >rtSo > > > >ap" > > > > > > > >type="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDet > > > >ai > > > >ls_P rtSoap"> <soap:binding > > > >transport="http://schemas.xmlsoap.org/soap/http" /> > > > ><wsdl:operation name="GetAgentDetails"> > > > > <soap:operation soapAction=" > > > > > > > >http://Phoenix.co.il/UnderWrite/Phoenix_ESB_UnderWrite_Biztalk_Agen > > > >tD etai ls_4405_AgentDetails_Prt/GetAgentDetails" style="document" > > > >/> > > > > <wsdl:input> > > > > <soap:body use="literal" /> > > > > </wsdl:input> > > > > <wsdl:output> > > > > <soap:body use="literal" /> > > > > </wsdl:output> > > > > </wsdl:operation> > > > > </wsdl:binding> > > > > <wsdl:binding > > > > > > > >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > >_P > > > >rtSo > > > >ap12" > > > > > > > >type="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDet > > > >ai > > > >ls_P rtSoap"> <soap12:binding > > > >transport="http://schemas.xmlsoap.org/soap/http" > > > > /> <wsdl:operation name="GetAgentDetails"> > > > > <soap12:operation soapAction=" > > > > > > > >http://Phoenix.co.il/UnderWrite/Phoenix_ESB_UnderWrite_Biztalk_Agen > > > >tD etai ls_4405_AgentDetails_Prt/GetAgentDetails" style="document" > > > >/> > > > > <wsdl:input> > > > > <soap12:body use="literal" /> > > > > </wsdl:input> > > > > <wsdl:output> > > > > <soap12:body use="literal" /> > > > > </wsdl:output> > > > > </wsdl:operation> > > > > </wsdl:binding> > > > > <wsdl:service > > > > > > > >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > >_P > > > >rt"> > > > > > > > > <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:port > > > > > > > >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > >_P > > > >rtSo > > > >ap" > > > > > > > >binding="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_Agent > > > >De > > > >tail > > > >s_PrtSoap"> <soap:address location=" > > > > > > > >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztal > > > >k_ Agen tDetails_4405_AgentDetails_Prt.asmx" /> > > > > </wsdl:port> > > > > <wsdl:port > > > > > > > >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > >_P > > > >rtSo > > > >ap12" > > > > > > > >binding="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_Agent > > > >De tail s_PrtSoap12"> <soap12:address location=" > > > > > > > >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztal > > > >k_ Agen tDetails_4405_AgentDetails_Prt.asmx" /> > > > > </wsdl:port> > > > > </wsdl:service> > > > > </wsdl:definitions> > > > > > > > > Benson Margulies-4 wrote: > > > > > Hey, can you share your wsdl, or one of the same complexity? > > > > > > > > > > On Mon, Jan 12, 2009 at 9:03 AM, elhanan <[email protected]> > wrote: > > > > >> allready tried that, lookign for blogs articles, couldn't find > much. > > > > >> > > > > >> just remember, i only have my own java beans with attributes > > > > >> alone (no getters and setters and are serliezble. > > > > >> i only a wsdl and the operationname (in this case > > > > >> GetAgentDetails) i don't have namespace > > > > >> > > > > >> the client code i'm planing should have something like this: > > > > >> > > > > >> Client c= new Client(wsdl); > > > > >> Object[] ret=c.invoke(opName,new Object[]{request}); > > > > >> > > > > >> this is what what's happening to day from our client side using > > > > >> glue. > > > > >> > > > > >> you could at the same time add it to the documentation :) > > > > >> > > > > >> elhanan wrote: > > > > >> > ok, here's the thing > > > > >> > > > > > >> > i tried wsdl2java, can't use that becouse it always requiries > > > > >> > i will > > > > >> > > > > >> have > > > > >> > > > > >> > a generated client classs > > > > >> > > > > > >> > tried dispatch method like so (with te wsdl i enclosed earlier): > > > > >> > > > > > >> > String > > > > >> > wsdl=" > > > > > > > >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztal > > > >k_ Agen tDetails_4405_AgentDetails_Prt.asmx?WSDL > > > > > > > > >> "; > > > > >> > > > > >> > GetAgentDetails parameters=new GetAgentDetails(); > > > > >> > final AgentWSRequest agentWSRequest = new > > > > >> > > > > >> AgentWSRequest(); > > > > >> > > > > >> > agentWSRequest.setAgentNumber(8888); > > > > >> > parameters.setPart(agentWSRequest); > > > > >> > > > > > >> > URL url =new > > > > >> > URL(" > > > > > > > >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztal > > > >k_ Agen tDetails_4405_AgentDetails_Prt.asmx?WSDL > > > > > > > > >> "); > > > > >> > > > > >> > QName q=new > > > > >> > QName("http://Phoenix.co.il/UnderWrite > > > > >> > > > > >>","Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > > >>_P > > > > >>rt") > > > > >>; > > > > >> > > > > >> > final Service service= Service.create(url, q); > > > > >> > QName port=new > > > > >> > QName("http://Phoenix.co.il/UnderWrite > > > > >> > > > > >>","Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails > > > > >>_P > > > > >>rt") > > > > >>; > > > > >> > > > > >> > service.addPort(port,"http://schemas.xmlsoap.org/soap/ > > > > > > > > ", > > > > > > > > >> > " > > > > > > > >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztal > > > >k_ > > > >Agen > > > >tDetails_4405_AgentDetails_Prt.asmx > > > > > > > > >> "); > > > > >> > > > > >> > JAXBContext ctx = > > > > >> > > > > >> JAXBContext.newInstance(ObjectFactory.class); > > > > >> > > > > >> > final Dispatch createDispatch = > > > > > > > > service.createDispatch(q, > > > > > > > > >> ctx, > > > > >> > > > > >> > Service.Mode.MESSAGE); > > > > >> > > > > > >> > final Object invoke = > > > > >> > createDispatch.invoke(parameters); > > > > >> > System.out.println(invoke); > > > > >> > > > > > >> > but i got: Error setting the source for SOAPPart: null > > > > >> > > > > > >> > i also tried using > > > > >> > > > > > >> > > > > > >> > DynamicClientFactory newInstance = > > > > >> > > > > >> DynamicClientFactory.newInstance(); > > > > >> > > > > >> > final ClassLoader contextClassLoader = > > > > >> > Thread.currentThread().getContextClassLoader(); > > > > >> > > > > > >> > final Client createClient = > > > > >> > newInstance.createClient(wsdl,contextClassLoader); > > > > >> > Object o = > > > > > > > >contextClassLoader.loadClass("il.co.phoenix.underwrite.AgentWSReque > > > >st > > > >").n > > > >ewInstance(); > > > > > > > > >> > createClient.invoke("GetAgentDetails", > > > > >> > agentWSRequest); > > > > >> > > > > > >> > but aside form the fact that it doesn't find the classes, i > > > > >> > would like > > > > >> > > > > >> to > > > > >> > > > > >> > to actually generate the classes in desing time but use the > > > > >> > dynamic > > > > >> > > > > >> client > > > > >> > > > > >> > with them, but the package names are different. > > > > >> > > > > > >> > also i don't know how to use the JaxWsClientFactoryBean there > > > > >> > is no documentation on it. > > > > >> > > > > > >> > Benson Margulies-4 wrote: > > > > >> >> 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.AgentWSR > > > >es > > > >pons > > > >e > > > > > > > > >> " > > > > >> > > > > >> >>>>>>> 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.AgentWSR > > > >es > > > >pons > > > >e > > > > > > > > >> " > > > > >> > > > > >> >>>>>>> /> > > > > >> >>>>>>> <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.AgentWSR > > > >es > > > >pons > > > >e > > > > > > > > >> "> > > > > >> > > > > >> >>>>>>> <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. > > > > >> > > > > >> -- > > > > >> View this message in context: > > > > > > > > http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21414996. > > > > html > > > > > > > > >> Sent from the cxf-user mailing list archive at Nabble.com. > > > > > > > > Quoted from: > > > > http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21415597. > > > > html > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > No virus found in this incoming message. > > > > Checked by AVG. > > > > Version: 7.5.552 / Virus Database: 270.10.6/1887 - Release Date: > > > > 11/01/2009 17:57 > > > > > > > > No virus found in this outgoing message. > > > > Checked by AVG. > > > > Version: 7.5.552 / Virus Database: 270.10.6/1887 - Release Date: > > > > 11/01/2009 17:57 > > > > -- > > Daniel Kulp > > [email protected] > > http://dankulp.com/blog > > > > No virus found in this incoming message. > > Checked by AVG. > > Version: 7.5.552 / Virus Database: 270.10.8/1896 - Release Date: > > 15/01/2009 19:10 > > > > > > No virus found in this outgoing message. > > Checked by AVG. > > Version: 7.5.552 / Virus Database: 270.10.8/1896 - Release Date: > > 15/01/2009 19:10 > > > > -- > Daniel Kulp > [email protected] > http://dankulp.com/blog > > No virus found in this incoming message. > Checked by AVG. > Version: 7.5.552 / Virus Database: 270.10.8/1898 - Release Date: 16/01/2009 > 15:09 > > > No virus found in this outgoing message. > Checked by AVG. > Version: 7.5.552 / Virus Database: 270.10.8/1898 - Release Date: 16/01/2009 > 15:09 > >
