Java type extensions in WSDL

Hi,
I would really appreciate if someone could share an example of how java types can be used in WSDL.
I am trying to define messages of type java.sql.Connection. The WSDL should look something like:
But of course I cannot reference java.sql.Connection from the WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tst="http://test.org/test/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="TestService"
targetNamespace="http://test.org/TestService/">
<wsdl:types>
<xsd:schema targetNamespace="http://test.org/Test/">
<?xml version="1.0" encoding="UTF-8"?>
<element name="testType">
<complexType>
<sequence>
<element name="connection" type="java:java.sql.Connection"/>
</sequence>
</complexType>
</element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="testMessage">
<wsdl:part name="RequestParameter" element="tst:testType"/>
</wsdl:message>
<wsdl:message name="testMessage">
<wsdl:part name="ResponseParameter" element="tst:testType"/>
</wsdl:message>
<wsdl:portType name="testInterface">
<wsdl:operation name="TestOper">
<wsdl:input message="tst:testRequestMessage"/>
<wsdl:output message="tst:testResponseMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="testServiceSOAP" type="tst:testInterface">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="test">
<soap:operation soapAction="http://test.org/test/ "/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="testService">
<wsdl:port binding="conn:testServiceSOAP" name="testServicePort">
<soap:address location="http://localhost:8080/Axis/services/testServiceSOAP" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Is there a workaround?
Thanks.
M

OK, but what do we do if an application is using several database web services that should perform operations in the same session simply because it is too time consuming to authenticate every time a different web service is invoked?
Do we ask for user name/password for every web service?
Use the same connection (which you say is impossible) or
Somehow keep the user name / password and reuse it when invoking another web service?
Thanks

Similar Messages

  • Error while generating java client code from wsdl file

    I am trying to generate a java client code from WSDL file um_workflowSaveCreateProfile.wsdl which includes um_workflowSaveCreateProfile_interface.wsdl file, so I am keeping both the files in the same folder and trying to generate the client code but it is showing me the below error highlighted .
    um_workflowSaveCreateProfile.wsdl
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="E:/DIPPWF/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:oblix="http://www.oblix.com/" xmlns:obinterface="http://www.oblix.com/wsdl/um_workflowSaveCreateProfile_interface" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.oblix.com/wsdl/um_workflowSaveCreateProfile" targetNamespace="http://www.oblix.com/wsdl/um_workflowSaveCreateProfile">
         <import namespace="D:/DIPP/WSDL/um_workflowSaveCreateProfile_interface" location="um_workflowSaveCreateProfile_interface.wsdl"/>
         <service name="OblixIDXML_um_workflowSaveCreateProfile_Service">
              <port name="OblixIDXML_um_workflowSaveCreateProfile_Port" binding="obinterface:OblixIDXML_um_workflowSaveCreateProfile_Binding">
                   <soap:address location="http://localhost:7777/identity/oblix/apps/userservcenter/bin/userservcenter.cgi"/>
              </port>
         </service>
    </definitions>
    um_workflowSaveCreateProfile_interface.wsdl
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:oblix="http://www.oblix.com/" xmlns:oblixxmllocalschema="http://www.oblix.com/OblixXMLLocalSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.oblix.com/wsdl/um_workflowSaveCreateProfile_interface" targetNamespace="http://www.oblix.com/wsdl/um_workflowSaveCreateProfile_interface">
         <types>
              <xsd:schema targetNamespace="http://www.oblix.com/" elementFormDefault="qualified"
                   xmlns="http://www.oblix.com/"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <xsd:include schemaLocation="../XMLSchema/common_parameters.xsd" />
                        <xsd:include schemaLocation="../XMLSchema/common_authentication.xsd" />
                        <xsd:include schemaLocation="../XMLSchema/workflowSaveCreateProfile.xsd" />
              </xsd:schema>
              <xsd:schema targetNamespace="http://www.oblix.com/OblixXMLLocalSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                   <xsd:element name="request">
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="params">
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element ref="oblix:ObWorkflowName"/>
                                                 <xsd:element ref="oblix:ObDomainName"/>
                                                 <xsd:element ref="oblix:ObWfComment" minOccurs="0"/>
                                                 <xsd:element ref="oblix:noOfFields"/>
                                                 <xsd:element ref="oblix:AttributeParams"/>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:sequence>
                             <xsd:attribute name="version" type="xsd:string" use="optional"/>
                             <xsd:attribute name="application" type="xsd:string" use="required" />
                             <xsd:attribute name="function" type="xsd:string" use="required" />
                             <xsd:attribute name="mode" type="xsd:string" use="optional"/>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:schema>
         </types>
         <message name="OblixIDXMLInput">
              <part name="authentication" element="oblix:authentication"/>
              <part name="request" element="oblixxmllocalschema:request"/>
         </message>
         <message name="OblixIDXMLOutput">
              <part name="body" element="oblix:Oblix"/>
         </message>
         <portType name="OblixIDXMLPortType">
              <operation name="OblixIDXML_um_workflowSaveCreateProfile">
                   <input message="tns:OblixIDXMLInput"/>
                   <output message="tns:OblixIDXMLOutput"/>
              </operation>
         </portType>
         <binding name="OblixIDXML_um_workflowSaveCreateProfile_Binding" type="tns:OblixIDXMLPortType">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="OblixIDXML_um_workflowSaveCreateProfile">
                   <soap:operation soapAction="http://www.oblix.com/"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
    </definitions>
    I am using WSDL2 Java for generating the client code .
    Please suggest where am I wrong .
    E:\axis2-1.4\bin>WSDL2Java -uri E:\DIPPWF\um_workflowSaveCreateProfile.wsdl -p R
    ND -d adb -s -o build\client--http-proxy-host 10.74.93.35 --http-proxy-port 80
    Using AXIS2_HOME: E:\axis2-1.4
    Using JAVA_HOME: C:\Program Files\Java\jdk1.6.0_02
    Retrieving document at 'E:\DIPPWF\um_workflowSaveCreateProfile.wsdl'.
    Retrieving document at 'um_workflowSaveCreateProfile_interface.wsdl', relative t
    o 'file:/E:/DIPPWF/um_workflowSaveCreateProfile.wsdl'.
    Retrieving schema at 'E:/DIPPWF/XMLSchema/common_parameters.xsd', relative to 'f
    ile:/E:/DIPPWF/um_workflowSaveCreateProfile_interface.wsdl'.
    Retrieving schema at 'E:/DIPPWF/XMLSchema/common_authentication.xsd', relative t
    o 'file:/E:/DIPPWF/um_workflowSaveCreateProfile_interface.wsdl'.
    Retrieving schema at 'E:/DIPPWF/XMLSchema/workflowSaveCreateProfile.xsd', relati
    ve to 'file:/E:/DIPPWF/um_workflowSaveCreateProfile_interface.wsdl'.
    Retrieving schema at 'navbar.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/workfl
    owSaveCreateProfile.xsd'.
    Retrieving schema at 'searchform.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/wo
    rkflowSaveCreateProfile.xsd'.
    Retrieving schema at 'component_basic.xsd', relative to 'file:/E:/DIPPWF/XMLSche
    ma/workflowSaveCreateProfile.xsd'.
    Retrieving schema at 'displaytype.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/c
    omponent_basic.xsd'.
    Retrieving schema at 'error.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/compone
    nt_basic.xsd'.
    Retrieving schema at 'component_workflowTicket.xsd', relative to 'file:/E:/DIPPW
    F/XMLSchema/workflowSaveCreateProfile.xsd'.
    Retrieving document at 'E:\DIPPWF\um_workflowSaveCreateProfile.wsdl'.
    Retrieving document at 'um_workflowSaveCreateProfile_interface.wsdl', relative t
    o 'file:/E:/DIPPWF/um_workflowSaveCreateProfile.wsdl'.
    Retrieving schema at 'E:/DIPPWF/XMLSchema/common_parameters.xsd', relative to 'f
    ile:/E:/DIPPWF/um_workflowSaveCreateProfile_interface.wsdl'.
    Retrieving schema at 'E:/DIPPWF/XMLSchema/common_authentication.xsd', relative t
    o 'file:/E:/DIPPWF/um_workflowSaveCreateProfile_interface.wsdl'.
    Retrieving schema at 'E:/DIPPWF/XMLSchema/workflowSaveCreateProfile.xsd', relati
    ve to 'file:/E:/DIPPWF/um_workflowSaveCreateProfile_interface.wsdl'.
    Retrieving schema at 'navbar.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/workfl
    owSaveCreateProfile.xsd'.
    Retrieving schema at 'searchform.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/wo
    rkflowSaveCreateProfile.xsd'.
    Retrieving schema at 'component_basic.xsd', relative to 'file:/E:/DIPPWF/XMLSche
    ma/workflowSaveCreateProfile.xsd'.
    Retrieving schema at 'displaytype.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/c
    omponent_basic.xsd'.
    Retrieving schema at 'error.xsd', relative to 'file:/E:/DIPPWF/XMLSchema/compone
    nt_basic.xsd'.
    Retrieving schema at 'component_workflowTicket.xsd', relative to 'file:/E:/DIPPW
    F/XMLSchema/workflowSaveCreateProfile.xsd'.
    *[ERROR] More than one part for message OblixIDXMLInput*
    org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessingException:
    More than one part for message OblixIDXMLInput
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameRefer
    ence(WSDL11ToAxisServiceBuilder.java:1162)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameRefer
    ence(WSDL11ToAxisServiceBuilder.java:1085)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateBindi
    ng(WSDL11ToAxisServiceBuilder.java:686)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo
    int(WSDL11ToAxisServiceBuilder.java:538)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo
    ints(WSDL11ToAxisServiceBuilder.java:489)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateServi
    ce(WSDL11ToAxisServiceBuilder.java:363)
    at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateA
    llServices(WSDL11ToAllAxisServicesBuilder.java:107)
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
    ionEngine.java:147)
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
    Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException
    : Error parsing WSDL
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
    ionEngine.java:153)
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
    Caused by: org.apache.axis2.AxisFault: More than one part for message OblixIDXML
    Input
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateServi
    ce(WSDL11ToAxisServiceBuilder.java:397)
    at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateA
    llServices(WSDL11ToAllAxisServicesBuilder.java:107)
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
    ionEngine.java:147)
    ... 2 more
    Caused by: org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessin
    gException: More than one part for message OblixIDXMLInput
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameRefer
    ence(WSDL11ToAxisServiceBuilder.java:1162)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameRefer
    ence(WSDL11ToAxisServiceBuilder.java:1085)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateBindi
    ng(WSDL11ToAxisServiceBuilder.java:686)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo
    int(WSDL11ToAxisServiceBuilder.java:538)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo
    ints(WSDL11ToAxisServiceBuilder.java:489)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateServi
    ce(WSDL11ToAxisServiceBuilder.java:363).
    Thanks in advance.
    akshay

    Hello,
    Were you able to resolve this issue ?
    I am seeing the same issue and at my wits end.
    regards
    Amit

  • Weblogic 10.0 Parsing Failure in config.xml: failed to load java type

    Hello,
    I've just installed a Weblogic 10.0 on a Linux server and when i try to start it, by :
    bash$ : sudo -u weblogic ./startWebLogic.sh
    JAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=128m
    WLS Start Mode=Production
    CLASSPATH=:/opt/weblogic/10.0/patch_wls1002/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/weblogic/10.0/patch_cie640/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/weblogic/10.0/jdk150_15/lib/tools.jar:/opt/weblogic/10.0/weblogic10.0/server/lib/weblogic_sp.jar:/opt/weblogic/10.0/weblogic10.0/server/lib/weblogic.jar:/opt/weblogic/10.0/modules/features/weblogic.server.modules_10.0.2.0.jar:/opt/weblogic/10.0/modules/features/com.bea.cie.common-plugin.launch_2.1.2.0.jar:/opt/weblogic/10.0/weblogic10.0/server/lib/webservices.jar:/opt/weblogic/10.0/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/opt/weblogic/10.0/modules/net.sf.antcontrib_1.0b2.0/lib/ant-contrib.jar::/opt/weblogic/10.0/weblogic10.0/common/eval/pointbase/lib/pbclient51.jar:/opt/weblogic/10.0/weblogic10.0/server/lib/xqrl.jar::
    PATH=/opt/weblogic/10.0/weblogic10.0/server/bin:/opt/weblogic/10.0/modules/org.apache.ant_1.6.5/bin:/opt/weblogic/10.0/jdk150_15/jre/bin:/opt/weblogic/10.0/jdk150_15/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
    * To start WebLogic Server, use a username and *
    * password assigned to an admin-level user. For *
    * server administration, use the WebLogic Server *
    * console at http://hostname:port/console *
    starting weblogic with Java version:
    java version "1.5.0_15"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
    Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
    Starting WLS with line:
    /opt/weblogic/10.0/jdk150_15/bin/java -server -Xms256m -Xmx512m -XX:MaxPermSize=128m -da -Dplatform.home=/opt/weblogic/10.0/weblogic10.0 -Dwls.home=/opt/weblogic/10.0/weblogic10.0/server -Dweblogic.home=/opt/weblogic/10.0/weblogic10.0/server -Dwli.home= -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/opt/weblogic/10.0/patch_wls1002/profiles/default/sysext_manifest_classpath:/opt/weblogic/10.0/patch_cie640/profiles/default/sysext_manifest_classpath -Dweblogic.security.providers.authentication.LDAPDelegatePoolSize=50 -Dweblogic.management.username=system -Dweblogic.management.password=admin9424 -Dweblogic.Name=AdminServer -Djava.security.policy=/opt/weblogic/10.0/weblogic10.0/server/lib/weblogic.policy weblogic.Server
    <Jun 7, 2010 9:49:12 AM CEST> <Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end of the classpath:
    /opt/weblogic/10.0/weblogic10.0/platform/lib/p13n/p13n-schemas.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/p13n/p13n_common.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/p13n/p13n_system.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/p13n/wlp_services.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/wlp/netuix_common.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/wlp/netuix_schemas.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/wlp/netuix_system.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/wlp/wsrp-client.jar:/opt/weblogic/10.0/weblogic10.0/platform/lib/wlp/wsrp-common.jar>
    <Jun 7, 2010 9:49:13 AM CEST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Server VM Version 1.5.0_15-b04 from Sun Microsystems Inc.>
    <Jun 7, 2010 9:49:13 AM CEST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.0 MP2 Sat Apr 25 01:45:38 EDT 2009 1213942 >
    i got the following error messages :
    *<Jun 7, 2010 9:49:14 AM CEST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: [Management:141266]Parsing Failure in config.xml: failed to load java type corresponding to e=domain@http://www.bea.com/ns/weblogic/920/domain>*
    <Jun 7, 2010 9:49:14 AM CEST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
    <Jun 7, 2010 9:49:14 AM CEST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
    <Jun 7, 2010 9:49:14 AM CEST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
    If i start the server as root, it boots but i cant deploy anything.
    Any idea about this behavior ?

    Hi,
    It is the problem in prasing the DTD of config.xml file
    It look like this
    <?xml version='1.0' encoding='UTF-8'?>
    <domain xmlns="http://www.bea.com/ns/weblogic/920/domain" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
    instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90/security/xacml http://www.bea.com/
    ns/weblogic/90/security/xacml.xsd http://www.bea.com/ns/weblogic/90/security http://www.bea.com/ns/weblogic/90/security.xsd http://www.bea.com/ns/weblogic/92
    0/domain http://www.bea.com/ns/weblogic/920/domain.xsd http://www.bea.com/ns/weblogic/90/security/wls http://www.bea.com/ns/weblogic/90/security/wls.xsd">
    Please change your DTD to this lines and start the server.
    Regards
    Ravi D

  • OWS-00102 Reason for not creating a custom Java type: simple or mixed conte

    Hi ,
    I am generating the java proxies from a WSDL file in Jdeveloper and I am getting the below warning.
    WARNING: OWS-00102 Mapped {http://xmlns.fmr.com/systems/dev/aar/requests}ViewRequestStatusResult to javax.xml.soap.SOAPElement ViewRequestStatusResult. Reason for not creating a custom Java type: simple or mixed content is not supported.
    I have tried using Jpub as well, but it does not work as well.
    I am very new to JAVA and It seems some java code needs to be created. can any one please help me how to resolve this issue.
    Thanks and Regards,
    Vineet

    var cResponse = app.response({
    cQuestion: "Enter the section number to appear in the stamp.",
    cTitle: "Section Number",
    cLabel: "Section Number:"
    if (cResponse == null) {
    event.value = '*INVALID*";
    else
    event.value = cResponse;
    You can only remove the 'Warning JavaScirpt" is by creating a special application folder script for the 'app.response' method that uses the 'trustedFuncton' to suppress this security warning. Then in you form, you will need to test for this function and either issue a warning about the missing function or run the 'app.response' code and live with the warning. Each system will need the special application folder script installed on it.

  • Mapping Java Types to XML Types

    Hi, I have a small doubt in web services,
    1)  how a java data type can match with xml data type in wsdl,
    2)  how and where the java program can find the matching java
        data type to xml data type and vice versa
    3)  whether any mechanism is available for this data conversion?
    4)  where can i find that one?
    Please advice me
    Regards
    Marimuthu.N

    Hi Marimuthu.N,
    My answers for your question, Kindly let me know if you need some more inputs.
    +1) how a java data type can match with xml data type in wsdl,+
    In SOAP 1.1 you have the following data types which is in XSD(XML Schema Definition), the same data type is also available in Java. For example (string, normalizedstring in xml is available as java.lang.String)
    The complete list can be found in the table below.
    XSD to Java Mapping.
    XSD Type--------------------------------Java Type
    base64Binary----------------------------byte[]
    hexBinary---------------------------------byte[]
    boolean------------------------------------Boolean
    byte-----------------------------------------Byte
    dateTime----------------------------------java.util.Calendar
    date-----------------------------------------java.util.Calendar
    time-----------------------------------------java.util.Calendar
    decimal------------------------------------java.math.BigDecimal
    double-------------------------------------Double
    float-----------------------------------------Float
    hexBinary---------------------------------byte[]
    int--------------------------------------------Int
    unsignedShort---------------------------Int
    integer--------------------------------------java.math.BigInteger
    long------------------------------------------Long
    unsignedInt-------------------------------Long
    QName-------------------------------------javax.xml.namespace.QName
    short----------------------------------------Short
    unsignedByte---------------------------Short
    string---------------------------------------java.lang.String
    anySimpleType-------------------------java.lang.String
    +2) how and where the java program can find the matching java+
    data type to xml data type and vice versa
    Here is my WSDL which has a method getHello --> Pass Input as String --> Get Response as String.
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://zackria.googlepages.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://zackria.googlepages.com" xmlns:intf="http://zackria.googlepages.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!--WSDL created by Apache Axis version: 1.4
    Built on Apr 22, 2006 (06:55:48 PDT)-->
    <wsdl:types>
      <schema elementFormDefault="qualified" targetNamespace="http://zackria.googlepages.com" xmlns="http://www.w3.org/2001/XMLSchema">
       <element name="getHello">
        <complexType>
         <sequence>
          <element name="s" type="xsd:string"/>
         </sequence>
        </complexType>
       </element>
       <element name="getHelloResponse">
        <complexType>
         <sequence>
          <element name="getHelloReturn" type="xsd:string"/>
         </sequence>
        </complexType>
       </element>
      </schema>
    </wsdl:types>
       <wsdl:message name="getHelloResponse">
          <wsdl:part element="impl:getHelloResponse" name="parameters"/>
       </wsdl:message>
       <wsdl:message name="getHelloRequest">
          <wsdl:part element="impl:getHello" name="parameters"/>
       </wsdl:message>
       <wsdl:portType name="Test">
          <wsdl:operation name="getHello">
             <wsdl:input message="impl:getHelloRequest" name="getHelloRequest"/>
             <wsdl:output message="impl:getHelloResponse" name="getHelloResponse"/>
          </wsdl:operation>
       </wsdl:portType>
       <wsdl:binding name="TestSoapBinding" type="impl:Test">
          <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
          <wsdl:operation name="getHello">
             <wsdlsoap:operation soapAction=""/>
             <wsdl:input name="getHelloRequest">
                <wsdlsoap:body use="literal"/>
             </wsdl:input>
             <wsdl:output name="getHelloResponse">
                <wsdlsoap:body use="literal"/>
             </wsdl:output>
          </wsdl:operation>
       </wsdl:binding>
       <wsdl:service name="TestService">
          <wsdl:port binding="impl:TestSoapBinding" name="Test">
             <wsdlsoap:address location="http://localhost:8080/TestWebService/services/Test"/>
          </wsdl:port>
       </wsdl:service>
    </wsdl:definitions>I use apache axis for the client side code. I also suggest to start using this to get quickly into SOA(Service Oriented Architecture)
    package com.googlepages.zackria;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import javax.xml.namespace.QName;
    * TestClient for Webservice
    * @author $author$Mohammed Zackria
    * @version $Revision$1.00
    public class TestClient {
         * main method
         * @param args pass nothing as far now
        public static void main(String[] args) {
            try {
                String endpoint = "http://localhost:8080/TestWebService/services/Test";
                Service service = new Service();
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress(new java.net.URL(endpoint));
                call.setOperationName(new QName("http://zackria.googlepages.com", "getHello"));
                //String Conversion
                String ret = (String) call.invoke(new Object[] { "Zack" });
                System.out.println("Sent 'Zack', got '" + ret + "'");
            } catch (Exception e) {
                System.err.println(e.toString());
    }+3) whether any mechanism is available for this data conversion?+
    Check the above code which has the following portion
    //String Conversion
    String ret = (String) call.invoke(new Object[] { "Zack" });
    By default APACHE Axis returns Object Array which can be Casted to your WSDL defined data type.
    +4) where can i find that one?+
    [Eclipse Webservice|http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/BottomUpWebService/BottomUpWebService.html]
    Hope this helps out, Kindly Let me know if you need some more or if i have not answered your question.
    Regards,
    Zack
    Edited by: zack on Nov 22, 2008 1:47 PM
    Edited by: zack on Nov 22, 2008 1:49 PM

  • "java Web Service from WSDL" just hands me a SOAPElement, no java mappings

    Another beginner question. I've used jdev and built a WSDL starting from a somewhat complex xsd. I've used the wizard "Java Web Service From WSDL" taking defaults. It seems to correctly generate class files for all my xsd types. It produces a fancy looking java-wsdl-mapping.xml But the generated stub service implementation just gets handed a SOAPElement object. Why generate all that mapping stuff and then make me parse the incoming data myself with SOAPElement methods? How am I supposed to make use of the mapping work that the wizard seems to have done for me?
    Thanks,
    Steve

    Dear Tugdual,
    Thanks for your intrest in my issue. I narrowed it down to the following type in my xsd
    <complexType name="PersonInfoType">
    <sequence >
    <element name="FamilyName" type="string"/>
    <element name="IndividualName" type="string"/>
    <element name="SpouseName" type="string"/>
    <element name="BirthDate" type="dateTime"/>
    </sequence>
    </complexType>
    This works fine - the "WebSerice From WSDL" wizard "knows" how to generate a class for PersonInfoType (with geters and seters) as well as useful stub implementation:
    public class PersonInfoImpl {
    public PersonInfoType processPersonInfo(String entityCode) {
    return null;
    However, if I make my type multiple occuring (to represnt e.g. rows from a db)
    <complexType name="PersonInfoType">
    <sequence maxOccurs="unbounded" >
    <element name="FamilyName" type="string"/>
    <element name="IndividualName" type="string"/>
    <element name="SpouseName" type="string"/>
    <element name="BirthDate" type="dateTime"/>
    </sequence>
    </complexType>
    Now the Web Service generator runs, but just doesn't generate any PersonInfoType class at all. For a stub implementation it genertes the following:
    public class PersonInfoImpl {
    public SOAPElement processPersonInfo(String entityCode) {
    return null;
    Now I'm stuck with the container just expecting from me a Soap Object and I have to build all the pieces myself with no java mappings to my xsd at all. Not very useful.
    Is there another xml structure I can use to represent data rows that is better supported by the wizard?
    Thanks,
    Steve

  • @XmlAttribute/@XmlValue need to reference a Java type that maps to text

    Hi,
    I get this exception when marshalling with xjc (either 2.0.1 or 2.1.3) generated classes. The xsd looks like this:
    <xs:complexType name="ExtensionType">
         <xs:simpleContent>
              <xs:extension base="xs:anySimpleType">
                   <xs:attribute name="nombre" use="required">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="50"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:attribute>
                   <xs:attribute name="tipo" use="optional">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:minLength value="0"/>
                                  <xs:maxLength value="30"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:attribute>
                   <xs:attribute name="id" use="optional">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:minLength value="0"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:attribute>
              </xs:extension>
         </xs:simpleContent>
    </xs:complexType>and the generated class looks like
    public class ExtensionType {
        @XmlValue
        protected Object value;
        @XmlAttribute
        protected String id;
        @XmlAttribute(required = true)
        protected String nombre;
        @XmlAttribute
        protected String tipo;
    }If I change value's type to String I don't get the error any more. I've tried some binding customizations, but without luck.
    Any hints on how to a) customize de binding or b) modify the schema so that jaxb doesn't choke on xjc's bindings?
    tks

    I am running into the same problem. I need an @XmlValue to be an Object (xs:anyType). Here are the basic annotations:
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "argument")
    public class Argument {
        @XmlAttribute(name = "type")
        protected String type;
        @XmlValue
        protected Object value;
    }The desired output is as follows:
    <argument type="arg1.type"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">
        test
    </argument>However, I am getting the same exception: "@XmlAttribute/@XmlValue need to reference a Java type that maps to text in XML." when attempting to marshal.
    Any suggestions would be appreciated.

  • Attachment to Java type mapping

    I want to create a web services to receive quite big portion of information. So I defined my method as:
    @WebService
    public class Infolet {
        public long run(String name, String enterprise, InputStream instream) throws RunException {
          printStreamContent(instream);
          return 1;
        }wsgen creates wsdl with abstract class InpputStream, so obviousy I can't use a real input stream in my client code matching to this parameter. So what's solution?

    Dave,
    What docs are you looking at? http://docs.solarmetric.com/sql_types.html
    seems to have the complete table.
    -Patrick
    On Sun, 22 Jun 2003 15:44:43 -0600, Dave Ford wrote:
    I am looking at the Kodo manual. And there is table that says:
    "Following is a table of the java class to SQL type that is generated by the
    schematool."
    The problem is, I didn't see any java types.
    Where can I find a table that states the sql types that correspond to java
    types.
    Dave Ford
    Smart Soft - The Developer Training Company
    http://www.smart-soft.com
    Patrick Linskey
    SolarMetric Inc.

  • I have been getting this (or earlier version) messages every time Firefox updates for at least a year "The Java Console extension is no longer supported and will be automatically removed the next time you restart Firefox. " What should I do?

    For a long time, each time Firefox updates, it invites me to install theJava Console Update. then I get a message that Java Console not supported.

    You can uninstall (remove) the Java Console extensions and disable the Java Quick Starter extension, you do not need them to run Java applets.
    See http://kb.mozillazine.org/Java#Multiple_Java_Console_extensions
    Disable the Java Quick Starter extension (if you have it): Tools -> Add-ons -> Extensions<br />
    Control Panel -> Java -> Advanced tab -> Miscellaneous -> Java Quick Starter (disable)
    See http://www.java.com/en/download/help/quickstarter.xml - What is Java Quick Starter (JQS)? What is the benefit of running JQS? - 6.0

  • Online media player won't display nor will formatting buttons in forum since Java console extension is no longer supported.

    Yesterday the following message appeared in my browser (Firefox 3.6.13):
    "The Java Console extension is no longer supported and will be automatically removed the next time you restart Firefox. This will not affect any Java applications or websites in any way."
    After receiving this message, the formatting buttons in the reply boxes of this SMF forum would not display.
    http://www.thechristianidentityforum.net/smf/
    And when I clicked on the "Listen Live" link at the site below, I got a "Cannot create DirectShow player" error message.
    http://www.3aw.com.au/
    How do I fix this?
    Many thanks in advance for your help.

    Clear the cache and the cookies from sites that cause problems.
    * "Clear the Cache": Tools > Options > Advanced > Network > Offline Storage (Cache): "Clear Now"
    * "Remove the Cookies" from sites causing problems: Tools > Options > Privacy > Cookies: "Show Cookies"
    Start Firefox in [[Safe Mode]] to check if one of the add-ons is causing the problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    * Don't make any changes on the Safe mode start window.
    See:
    * [[Troubleshooting extensions and themes]]

  • Custom Template for Third Party Balance Summary Report(Java type executable

    Hi Al,l we have a requirment to have a layout with some of the fields from
    Third Party Balance Summary Report( Which is a Java type executable and
    Data definition has Data Template attached(.xml)).
    I tried in below way.
    Coppied the Third Party Balance Summary Report program with same application and parameters
    with. Then defined a Datadefinition with my concurrent prog short name
    attached the same standard .xml file(Not sure what it is) and developed a custom template with
    a custom rtf(excel output type), and submitted the program
    the output is generated in excel but my custom .rtf layout is not getting applied
    rather it is showing same layout as in standard.
    Some thing I am missing here or else it is not the way of changing the
    template.
    If any one know how to do this please let me know.
    My client want only some files from the standard report(no need of new fileds)
    with output type xls.
    Thanks in Advance.
    The same content is posted in Custom Template for Third Party Balance Summary Report(Java type executable sorry for duplicating the thread, just for increase the visibility for my issue I did this.

    I gave up on using a different font or figuring out if I could use Times New Roman's built-in fractions visible in Font Book (as unicodes) and did a work-around based on Michael Wasley's tips in this discussion.
    https://discussions.apple.com/message/11622842#11622842
    I adapted it however and think it looks a little better.
    Font: Times New Roman 12 point
    I used the fraction bar in 12-point (Shift-Option-1) for automatic kerning.
    For the numerator, I changed the font style to superior (12-point).
    For the denominator, I changed the font style to subscript (Shift-Command-hyphen) and reduced the font size to half, or 6-point using the short-cut Shift-Command-<.
    When the fractions occured in my footnotes (9-point), I used 4-point in the denominator; 10- and 11-point, I used 5-point in the denominator. This seemed to produce the best result when printing.
    Thank you, Michael.
    -Dottie

  • When to use Java Web Service from WSDL, Webservice proxy, Web Service DataControl -- JDeveloper 11.1.1.7

    Hi Experts!
    I am having confusion among these 3 services provided in Oracle ADF. When to use and what service needs to be used?
    Once we generate Webservice WSDL. With the WSDL we have 3  options in Jdeveloper to invoke this service.
    1. Java Web Service From WSDL.
    2. Web Service proxy,
    3. Web Service Data Control.
    Can anyone give us some brief description of these 3 services when do we need to use and which service is to be used for which scenario ?
    Please give me your valuable inputs.
    Thanks & Regards,
    Guravaiah Tata.

    Hi,
    Can you share your WSDL.
    You can send it to me at [email protected]
    -Vishal

  • Error during invokation of webservices: "error: unknown java type:"

    hi,
    I'm having issues with invoking a webservice from the "WebLogic Test Client". The webservice exposes the methods from a stateless session EJB and Weblogic Workshop was used to create the webservice controls
    Weblogic version: 10.0 mp1
    Pls. advise.
    Error message ...
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header />
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>error: unknown java type: com.margin.engine.entity.ClientSet</faultstring>
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">com.bea.xml.XmlRuntimeException: error: unknown java type: com.margin.engine.entity.ClientSet
    at com.bea.staxb.runtime.internal.FailFastErrorHandler.add(FailFastErrorHandler.java:45)
    at com.bea.staxb.runtime.internal.MarshalResult.addError(MarshalResult.java:265)
    at com.bea.staxb.runtime.internal.AnyTypeRuntimeBindingType.determineActualRuntimeType(AnyTypeRuntimeBindingType.java:84)
    at com.bea.staxb.runtime.internal.RuntimeBindingProperty.getActualRuntimeType(RuntimeBindingProperty.java:110)
    at com.bea.staxb.runtime.internal.PushMarshalResult.walkRankOneSoapArray(PushMarshalResult.java:570)
    at com.bea.staxb.runtime.internal.PushMarshalResult.walkSoapArray(PushMarshalResult.java:534)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:437)
    at com.bea.staxb.runtime.internal.SoapArrayRuntimeBindingType.accept(SoapArrayRuntimeBindingType.java:59)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:192)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalTopType(PushMarshalResult.java:93)
    at com.bea.staxb.runtime.internal.MarshallerImpl.marshalBindingType(MarshallerImpl.java:302)
    at com.bea.staxb.runtime.internal.MarshallerImpl.marshalType(MarshallerImpl.java:435)
    at weblogic.wsee.bind.runtime.internal.LiteralSerializerContext.marshalType(LiteralSerializerContext.java:70)
    at weblogic.wsee.bind.runtime.internal.BaseSerializerContext.internalSerializeType(BaseSerializerContext.java:175)
    at weblogic.wsee.bind.runtime.internal.BaseSerializerContext.serializeType(BaseSerializerContext.java:95)
    at weblogic.wsee.codec.soap11.SoapEncoder.encodePart(SoapEncoder.java:284)
    at weblogic.wsee.codec.soap11.SoapEncoder.encodeReturn(SoapEncoder.java:205)
    at weblogic.wsee.codec.soap11.SoapEncoder.encodeParts(SoapEncoder.java:192)
    at weblogic.wsee.codec.soap11.SoapEncoder.encode(SoapEncoder.java:119)
    at weblogic.wsee.codec.soap11.SoapCodec.encode(SoapCodec.java:128)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.encode(CodecHandler.java:103)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.handleResponse(CodecHandler.java:50)
    at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:236)
    at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:220)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.callHandleResponse(ServerDispatcher.java:135)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:108)
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
    at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
    at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
    at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:257)
    at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    </bea_fault:stacktrace>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>

    Olivier, thank you so much
    SOAMANAGER does not exist in my system (sp level 8), so node "/sap/bc/soap/rfc" should be active. Actually, it is active.
    I think the problem is related to user rights/profiles.
    I have tried to create another WS after assigning role SAP_BC_WEBSERVICE_ADMIN. The same error when trying to activate it, but now, I can see this WS in SE80 (under "Enterprise Services->Service Definition"). It is not active there and if I try to activate it, a success message appears indicating that user "is not authorized to use function netzwerkadministration". I cannot see any new services in SICF...
    Probably the new entry in SICF will be created after activating WS in SE80...
    Do u know what user profile should I add in order to properly activate the WS in SE80?
    Thank you very much!
    Vicente

  • How to access android resource in java native extension....??

    hi..
    i want access android resource..
    for example, res/menu/menu.xml, res/values/strings.xml ... etc...
    - R.java -
    /* AUTO-GENERATED FILE.  DO NOT MODIFY.
    * This class was automatically generated by the
    * aapt tool from the resource data it found.  It
    * should not be modified by hand.
    package com.flash.extension.nativelib;
    public final class R {
        public static final class attr {
        public static final class drawable {
            public static final int icon=0x7f020000;
            public static final int notification_icon=0x7f020001;
        public static final class layout {
            public static final int main=0x7f030000;
        public static final class string {
            public static final int extension_app_name=0x7f040001;    -> "hi extension"
            public static final int extension_hello=0x7f040000;
    so i used getResourceId("string.extension_app_name");
    but it's not work.. throw NotFoundException error..
    so i used context.getString(R.string.extension_app_name);
    it's work, but return incorrect value.. -> return value is "0.0.0".. it's versionName in actionScript Client Project..
    why can't access android resource in native extension?
    how to get android resource in java natvie extension..??
    Is there anyone who has a sample source??
    help.. me.. please..

    Hello,
    I am facing the same issue with the native extension i am using follwing code to get the resource id
             Intent inte = new Intent(context.getActivity().getApplicationContext(),SecondActivity.class);
              inte.putExtra("layout",context.getResourceId("layout.secondactivity"));
              context.getActivity().startActivity(inte);
    i am getting this exception "android.content.res.Resources$NotFoundException:layout.secondactivity"
    I have included activity in the native manifest file as well as flex's manifest file for android.
    please help me with this or an example will be great thanks.

  • The JNI defines a mapping of Java types and native (C/C++) types.

    As per the tutorial
    The JNI defines a mapping of Java types and native (C/C++) types.Does the above sentence mean that I can use dll written in C/C++ only and not dll written in Pearl.
    Could anyone please give me the solution.

    Please do tell me how can I call a dll file created in Perl ....And I will point out again that I doubt that it is possible to create a dll that has the following characteristics
    1. Is in fact a dll.
    2. Is in fact intended to run anywhere outside of the perl engine.
    Step 2 means that you run perl, not a "perl dll" via C.
    You can do that or at least in the past you could. And that has nothing to do with java nor JNI. So you would learn about it on a perl site.
    And I can only note that when I did that a number of years ago it was very difficult. Certainly much harder than getting JNI to work. And you had better have quite a bit of C/C++ experience before you attempt it.

Maybe you are looking for

  • How do i implement this logic in a Single SQL?

    Hi Friends! I’m having some problem. Hope you can share your thoughts with me. Let’s come to the problem I’m having following recordset S_id     t_nbr     d_id     a_dtm               b_dtm               c_dtm               create_tmstmp             

  • How do you unpin a drop pin in maps?

    How do you unpin a drop pin in maps?

  • Using dynamic groups for j2ee security

    Hi all, I have my realm setup in server.xml and my standard and sun-specific deployment descriptors setup for j2ee security. Everything seems to work fine for groups defined via uniquemember attributes (all users are specified), but I'm having troubl

  • Prevent apps from stealing focus

    Is there a general overall setting for preventing applications from stealing focus?

  • Can't set default email to Thunderbird in iphoto to email pictures

    If I want to sent pictures with iphoto, my Mail doesn't let me send it (a Mail problem). I have Thunderbird on the computer, but iphoto doesn't have Thunderbird in the list to change the default email. I can only choose 'mail' or 'entourage'. How can