Flex 4 Web Service Introspection For Dynamic WSDL Locations

In Flex 3, introspecting a web service resulted in a constructor that allowed the location of the web service to change at runtime.  It appears that the Web Service introspection tool now only allows the single WSDL URI that was specified in the WS Wizard.  It this the case or am I just missing something?
Flex 3 introspected services would create a service class with the following constructor signatures:
private var service:MyWebService;
service= new MyWebService(null, wsdlLocation);  // With parameters
or you could use:
service = new MyWebService(); //with no parameters
In Flex 4, it appears that you can only use:
service = new MyWebService();
So if you don't know the web server location until runtime, am I going to need to manually override the instrospected/generated _super_MyWebService.as class in order to get back the ability to point to different servers at runtime?
Anyone know why this has changed, or what the "new" way the Flash Builder 4 web service introspection tool uses for dynamic servers?
Thanks a bunch!

In Flex 4, it appears that you can only use:
service = new MyWebService();
add
service.wsdl = "your wsdl";
However if you want this to work you have to remove the hardcoded wsdl from the
superclass otherwise it will not reset it,
C

Similar Messages

  • "Headless Flex" as a Web Services library for Spry

    A few weeks ago I asked if there was any way a cross browser
    web services library could be built into Spry. This would allow us
    to access the SOAP web services that we built for our Flex
    application. No positive answer came back on the forum.
    It appears that the browsers all have varying ability to act
    as a web services client - in many cases it is not possible or
    practical due to browser limitations.
    That killed my plans for developing a Spry based equivalent
    of our Flex application.
    It has since occured to me that Flex itself could be used as
    the cross platform web services client library used by Spry to get
    the required XML data to fill the grids and drive the other Spry
    controls. This is "Headless Flex" in which Flex and its ability to
    be called by external Javascript could be used to provide cross
    browser web services client functionality. "Headless" because Flex
    is not used for display or user interface functionality, but for
    extending the programming capabilities of the browser and making up
    for deficiencies in the browser.
    So a question for the Adobe Spry development team - is there
    any chance that you might be able to include "Headless Flex" web
    services client functionaliy with Spry allowing the seamles fusion
    of Spry with web services?
    Thanks
    Andrew

    I have the same problem...
    Did you find out the solution?
    I would be very grateful
    Thanks!
    Maria

  • Web Service Introspection

    The Web Service Introspection Wizards are very helpful
    (especially when creating some additional wrappers on top of them).
    I have two questions however:
    1. How do I set the EndPoint locations for different
    deployment environments? It seems the endpoints are copyed from the
    wsdl during introspection and hardcoded into the
    Base<ServiceName>Service.as class. Creating a
    <ServiceName>Service instance allows you to specify a
    destination and rootURL as optional parameters to override this,
    but this requires use of a services-config.xml file, which is not
    generated by default in simple Flex Builder applications, and on
    which I cannot find any solid documentation on... I'm currently
    having to search & replace the hardcoded endpoints as part of
    an ant task before building the client, not a very ideal
    solution...
    2. Is there a way to automate the Introspection Wizards via
    API calls or ant tasks? Ideally I would like to automate my entire
    build script in a single ant task, without having to ask the user
    to go through the FB wizards...

    *bump* Anyone?

  • Create adaptive web service model for a web dynpro project

    I have been trying to create a new new adaptive web service model for a web dynpro project.I am using the URL of the wsdl file to create the model. I have copied the url link of the wsdl from the overview tab of the web services navigator. The web service works fine when tested through the Netweaver Navigator. This web service has also been used successfully through the Visual Composer. But when I try to create a model for this web service URL, when I click the Next button after entering the URL in the model creation wizard  step 4 , I get "Error loading wsdl file. Check error log for details" Given below is the exception recorded in the error log: (Infact, I get this for all wsdl URLs)
    !MESSAGE Jun 6, 2007 9:44:59 AM           com.sap.ide.webdynpro.ui.service.ServicesUI          [Thread[main,5,main]] Error: Internal error
       Plugin name: Web Dynpro Model Editor
       Plugin ID  : com.sap.ide.webdynpro.modeleditor
       Class      : com.sap.ide.webdynpro.modeleditor.wizards.model.creation.PageRenameWS
       Method     : loadNameSpacesAndModelClasses
       Message    : Cannot load NameSpaces and ModelClasses
    Class Path: C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.tc.cmi_1.0.0/_cmi_api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.exception_2.0.0/lib/exception.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/boot.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/iq-lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/util.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices_lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices_api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/tc_sec_wssec_lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.dictionary.runtime_2.0.0/lib/SapDictionaryTypesRuntime.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.dictionary.services_2.0.0/lib/SapDictionaryTypeServices.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/logging.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/loggingStandard.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/jARM.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.xmltoolkit_2.0.0/lib/sapxmltoolkit.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/activation.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jaxm-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/saaj-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jaxrpc-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jnet.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jsse.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/mail.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.tc.webdynpro.model.webservice_2.0.0/lib/_webdynpro_model_webservice.jar;
    java.home: C:\java\j2sdk1.4.2_09
    proxyHost:
    proxyPort:
    nonProxyHosts:
    Temporary Directory: C:\DOCUME1\E51914\LOCALS1\Temp\
    WSDL URL: http://etcvpcod108:50100/UserService/Config5?wsdl
       Exception  : com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for WSDL URL http://etcvpcod108:50100/UserService/Config5?wsdl and service factory configuration {DynamicProxy.ClassPath=C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.tc.cmi_1.0.0/_cmi_api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.exception_2.0.0/lib/exception.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/boot.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/iq-lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/util.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices_lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices_api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/tc_sec_wssec_lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.dictionary.runtime_2.0.0/lib/SapDictionaryTypesRuntime.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.dictionary.services_2.0.0/lib/SapDictionaryTypeServices.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/logging.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/loggingStandard.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/jARM.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.xmltoolkit_2.0.0/lib/sapxmltoolkit.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/activation.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jaxm-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/saaj-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jaxrpc-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jnet.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jsse.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/mail.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.tc.webdynpro.model.webservice_2.0.0/lib/_webdynpro_model_webservice.jar;, DynamicProxy.INetProxy.Bypass=, DynamicProxy.INetProxy.Port=, DynamicProxy.Javac.path=C:\java\j2sdk1.4.2_09, DynamicProxy.TempDir=C:\DOCUME1\E51914\LOCALS1\Temp\, DynamicProxy.INetProxy.Host=}
    !STACK 0
    com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for WSDL URL 'http://etcvpcod108:50100/UserService/Config5?wsdl' and service factory configuration '{DynamicProxy.ClassPath=C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.tc.cmi_1.0.0/_cmi_api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.exception_2.0.0/lib/exception.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/boot.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/iq-lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/util.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices_lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/webservices_api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.engine.webservices_2.0.0/lib/tc_sec_wssec_lib.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.dictionary.runtime_2.0.0/lib/SapDictionaryTypesRuntime.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.dictionary.services_2.0.0/lib/SapDictionaryTypeServices.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/logging.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/loggingStandard.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.logging_2.0.0/lib/jARM.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.tssap.sap.libs.xmltoolkit_2.0.0/lib/sapxmltoolkit.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/activation.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jaxm-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/saaj-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jaxrpc-api.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jnet.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/jsse.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.ext.libs.webservices_2.0.0/lib/mail.jar;C:/Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.tc.webdynpro.model.webservice_2.0.0/lib/_webdynpro_model_webservice.jar;, DynamicProxy.INetProxy.Bypass=, DynamicProxy.INetProxy.Port=, DynamicProxy.Javac.path=C:\java\j2sdk1.4.2_09, DynamicProxy.TempDir=C:\DOCUME1\E51914\LOCALS1\Temp\, DynamicProxy.INetProxy.Host=}'
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:413)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.readOperationsFromWSDL(WSModelInfo.java:371)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadataInternal(WSModelInfo.java:341)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:305)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:315)
         at com.sap.ide.webdynpro.modeleditor.wizards.model.creation.PageRenameWS.loadNameSpacesAndModelClasses(PageRenameWS.java:435)
         at com.sap.ide.webdynpro.modeleditor.wizards.model.creation.ModelDialog.nextPressed(ModelDialog.java:105)
         at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:316)
         at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:423)
         at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81)
         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
         at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2022)
         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1729)
         at org.eclipse.jface.window.Window.runEventLoop(Window.java:583)
         at org.eclipse.jface.window.Window.open(Window.java:563)
         at com.sap.ide.webdynpro.modeleditor.ModelEditorCallback.createModel(ModelEditorCallback.java:52)
         at com.sap.ide.webdynpro.service.modeleditor.ModelService.createModelWithUI(ModelService.java:70)
         at com.sap.ide.webdynpro.service.modeleditor.ServiceWithUI.createModel(ServiceWithUI.java:49)
         at com.sap.ide.webdynpro.tsmodel.application.provider.ModelNodeProvider.createUniqueName(ModelNodeProvider.java:55)
         at com.tssap.selena.impl.model.elements.EntityImpl.createChildEntityUin(EntityImpl.java:936)
         at com.tssap.selena.impl.model.elements.EntityImpl.createChildEntity(EntityImpl.java:502)
         at com.sap.ide.webdynpro.tsmodel.application.actions.CreationAction.runInternal(CreationAction.java:76)
         at com.sap.ide.webdynpro.tsmodel.application.actions.CreationAction.access$000(CreationAction.java:24)
         at com.sap.ide.webdynpro.tsmodel.application.actions.CreationAction$1.run(CreationAction.java:51)
         at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1595)
         at com.sap.ide.webdynpro.tsmodel.application.actions.CreationAction.run(CreationAction.java:57)
         at com.sap.ide.webdynpro.projectbrowser.actions.PBCreateModelAction.run(PBCreateModelAction.java:95)
         at com.tssap.selena.model.extension.action.SelenaActionCollector$GenericElementActionWrapper.run(SelenaActionCollector.java:224)
         at com.tssap.util.ui.menu.MenuFactory$MuSiAction.saveRunAction(MenuFactory.java:1425)
         at com.tssap.util.ui.menu.MenuFactory$MuSiAction.run(MenuFactory.java:1407)
         at com.tssap.util.ui.menu.MenuFactory$DelegateAction.processInternal(MenuFactory.java:616)
         at com.tssap.util.ui.menu.MenuFactory$DelegateAction.access$100(MenuFactory.java:586)
         at com.tssap.util.ui.menu.MenuFactory$DelegateAction$BusyProcessWorker.run(MenuFactory.java:716)
         at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
         at com.tssap.util.ui.menu.MenuFactory$DelegateAction.process(MenuFactory.java:610)
         at com.tssap.util.ui.menu.internal.MenuListenerFactory$ProcessAdapter.widgetSelected(MenuListenerFactory.java:172)
         at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81)
         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
         at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2022)
         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1729)
         at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402)
         at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
         at com.tssap.util.startup.WBLauncher.run(WBLauncher.java:79)
         at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:858)
         at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.ide.eclipse.startup.Main.basicRun(Main.java:291)
         at com.sap.ide.eclipse.startup.Main.run(Main.java:789)
         at com.sap.ide.eclipse.startup.Main.main(Main.java:607)
    Caused by: com.sap.engine.services.webservices.jaxrpc.exceptions.WebserviceClientException: GenericServiceFactory initialization problem. Could not load web service model. See nested exception for details.
         at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DGenericServiceImpl.generateProxyFiles(DGenericServiceImpl.java:149)
         at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DGenericServiceImpl.<init>(DGenericServiceImpl.java:49)
         at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:71)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:411)
         ... 53 more

    Hi Srikanth,
    My version was
    Version: 7.0.09
    Build id: 200608262203
    I was able to successfully import the model after I did the following
    1. Re intsall Studion (same version , same build)
    2. Reset the proxy settings to not use Proxy server
    Thanks for looking into it though...
    -Lakshmi

  • Create web service client for javafx project in netbeans 6.8

    I here have a javafx project and need to create a web service client for it (in netbeans 6.8).
    However when I right click this project -> new -> web service client -> input wsdl location\package -> finish, it seems that the client code is never generated. This is quite different from what happens when creating web service client for a java project.
    Anyone knows how is this happening?

    Thanks for your reply.
    I did write my own ws client code but I need to create a web proxy based on an appointed wsdl path. That requires me to create a web service client from netbeans 6.8, like what I described in my first post. Unfortunately, it's not behaving like what I imagined it should do for a java project, even the javafx file itself doesn't have any error. The error occurs in package definition line.
    package fx;For the definition above, it cannot access java.lang.builtins.
    The question now is about the possibility to include javafx file in an non-javafx, say, java project. Any comments?
    ---Regards.

  • Problem with java and flex web service

    Hi,
    I have a basic web service written in java using jax ws 2.1
    ri. I need to call it from Flex using the WebService class
    Annotations for the java web method :
    @WebMethod
    public void Login(
    @WebParam(name="server") String serverURL,
    @WebParam(name=AUTHENTICATE_HEADER,header=true,mode=WebParam.Mode.INOUTHolder<Authenticate Header>
    authHeader)
    When I try and call the service from Flex , it can't find the
    login method and attempts to call it fail. If I set the web service
    to RPC based using @SOAPBinding , the method is found but then
    there are issues with the authentication header.
    What do I need to do to get flex web services communicating
    succesfully with java ?
    Are there are any known compatibility issues ? Or guidelines
    for going about this ?
    Any help would be appreciated

    well Shay,
    i've used JDev's tools to developer and to deploy the web service: the war and ear files are automatically generates you to the end of the process.
    I have included all the files java and the compiled classes, but I do not have files jar.
    But don't works: if i create only one java class with all code inside then it works fine!!
    Daniele

  • How to create Web Service based on PI WSDL message

    Hi all,
    we have following scenario:
    Within PI (version 7.1) we set up a message type and inbound service interface. This service interface should send the PI message to a web service running on a SAP J2EE (version 7.01). As the PI message is sent as WSDL I thought it should be easy to build a web service on the SAP J2EE based on this WSDL from PI.
    Unfortunately, I have problems creating the Web Service.
    For my current project we integrated the NWDI to the SAP NetWeaver Developer Studio and I'm required to add the Web Service to an existing DC (Development Component) within the NWDI.
    What I tried so far is:
    - I created a Deployable Proxy Project and within this I created a Client Proxy Definition based on the WSDL from the PI. But I can't add this Proxy to the DCs of the NWDI and I don't know how to implement my own coding here in order execute specific functions.
    - I created a new class within the NWDI DC and a public method. Based on this I created a Virtual Interface and a Web Service Definition (WSD). Then I added this to a Web Service Deployment Descriptor. I uploaded this to the SAP J2EE. But I'm not able to access this and I don't know hoe to assign the WSDL here.
    I also tried here to create a client proxy based on this WSD as I thought I might assign the WSDL here. But I don't see the WSD in the list of Web Services uploaded to the SAP J2EE...
    Can you please advice me how to create a Web Service in such an environment?
    regards
    René Jurmann

    Hi Tahir,
    sorry that you needed to wait this long - but this is how I created the web service:
    The steps on how to create the web service in NetWeaver Developer studio are nearly the same as described in the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5838. [original link is broken] [original link is broken] [original link is broken]
    Some steps I just skipped and some others I added. Some of the steps I did the way I described it as I needed to connect the web service with the SAP PI.
    Prerequisites:
    Add Java Perspective and J2EE Development Perspective to the open perspectives.
    Within "Window - Preferences - Web Services" check "Soap extensions visible in the virtual interface editor"
    The SDM of the corresponding SAP J2EE is configured within "Window - Preferences"
    Create a Development Component (DC) with type "J2EE -> EJB Module"
    The business logic of the web service will be implemented in an Enterprise Java Bean (EJB). So first the EJB component must be created:
         Choose "File -> New -> Other"
         In opening PopUp choose "Development Component -> Development Component Project"
         Select the Software Component for which you want to add the DC (e.g. "Local Development -> MyComponents")
         Choose now vendor, name and type:
              vendor is an alpha-numeric string of 20 characters starting with a letter - all in lower case
              name is an alpha-numeric string starting with a letter - all in lower case
              vendor and name concatenated must not be longer then 40 characters
              the name can be separated into different part using "/" as separator
              each part of the name must not be longer than 8 characters
              the type is "J2EE - EJB Module"
              you can specify a Caption as general description for the web service
    Create new EJB
    To create the EJB itself:
         In J2EE DC Explorer of J2EE Development Perspective expand new DC and right-click on folder "ejbModule"
         Choose "New - EJB" with following details:
              EJB Name: <name as for PI service Interface to be created - starting in upper case>
              EJB Project: <pre selected>
              Bean Type: Stateless Session Bean
              Default EJB Package: <corresponds to namespace in PI>
              generate default interfaces: Checked
    Regarding the "Default EJB Package" this should be created according the namespace in PI for which all PI objects will be created. This only applies if you have some naming conventions here.
    Example:
    Namespace in PI is:  http://company.net/pi/SOFTWARE_COMP/Application
    The corresponding package then is: net.company.pi.software_comp.application
    Implement coding for web service
    As the web service will be called via PI some transfer variables will be submitted. Most likely, those variables will not be standard type (e.g. String) but a complex type. Those types must be generated as Java classes. Below an example of a complex type I needed:
    Data Type
    net.company.pi.software_comp.application.types.MessageProcessingInformation
    Structure:
         Element name          Element type
         sendingSystemID          String
         interfaceID               String
         businessProcessVariantCode     String
         testIndicator               Boolean
    For every element described a public "get", "set" and "has" method must be created in the corresponding Java class:
    package net.company.pi.software_comp.application.types;
    import java.io.Serializable;
    public class MessageProcessingInformation implements Serializable {
         protected String sendingSystemID;
         protected String interfaceID;
         protected String businessProcessVariantCode;
         protected Boolean testIndicator;
         public String getSendingSystemID() {
              return sendingSystemID;
         public void setSendingSystemID(String value) {
              this.sendingSystemID = value;
         public boolean hasSendingSystemID() {
              if(sendingSystemID != null && !sendingSystemID.equals("")){
                   return true;
              return false;
    All Java classes representing complex types and all classes referenced here (used for sub-types) must implement java.io.Serializable. Java standard types which do not implement this class must not be used as sub-types.
    As soon as all data types are declared the real business logic can be implemented:
         In J2EE DC Explorer of J2EE Development Perspective expand DC - "ejb-jar.xml" - <Name> and double click on "ejbCreate"
         In detail view select folder "Business Methods" and click "Add"
         choose name of business method - this should be the same as the PI message type used for the service interface - starting lower case
         return type should be "void"
         add needed parameters fully qualified - including package (as specified in PI and created previously in DC)
         you can mark certain parameters as array if necessary
    Remark:
    It might be that after saving you get an error. This might be as the package name of one component is copied to the corresponding Java class at the very beginning (before the package declaration within the Java class). Simply delete the string here.
    It also might be, that the new business method is only defined in the remote interface class but not in the bean class. Just create an according method in the bean class.
    Within the newly created business method within the bean class you can now implement the business logic.
    Create a DC with type "J2EE -> Enterprise Application"
    In order to create the "real" web service and deploy it to the J2EE an Enterprise Application project has to be created. So create a new DC as for the EJB Module but choose as type "J2EE -> Enterprise Application".
    After the DC is created right click on the EJB DC and choose "Add to EAR Project". Choose the new DC.
    Create web service for EJB
    As soon as you implemented the business logic you can create the "real" web service. Therefore:
         Right click on the EJB name below "ejb-jar.xml"
         Choose "New - Web Service"
         Choose proper "Web Service Name" and "Configuration Name" (probably oriented at the EJB name)
         Copy the URL of the web service - you'll need it later for PI configuration
         on the second next screen use the same name for "Virtual Interface" and "Web Service Definition" (the name should be the name of the "Endpoint")
         the "EAR Project" should be preselected
    Unfortunately, the web service can't be used in its current configuration to be accessed by PI. Therefore the Virtual Interface must be changed. To do so, expand folder "Virtual Interfaces" and double click the virtual interface created.
    Within the detail view expand in tabs "Mapping" and "Types" the complete folder structure. For any "SOAP Extension" where a namespace can be defined use as namespace the corresponding namespace in PI (e.g. http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/BillerDirect) but do not change any "Soap Extension" of a standard Java type. (if you don't have any naming convetions for namespaces in PI you can leave the SOAP Extension here. But then the namespace in PI should be set accordingly.)
    Probably it can be necessary on top level "Soap Extensions" in tab "Mapping" to leave "Use Namespaces for Parameters" unchecked. For some of my web services this parameter must be checked for others not - just try.
    If you can define a "New Name", "Local Name" or "Item Label" for a Soap Extension then use a name with starting upper case letter. (For Java Naming conventions most of the data type names will start with lower case letters.) Especially the method name must be renamed this way in order to stick to the PI namings.
    As a last point to change here check in tab "Mapping" all "Incoming Parameters" which you specified as array. Use for those as "New Name" a different name - do not just simply change from lower case to upper case. This is necessary as on PI we need to create two levels although here only one is specified.
    For any own sub-type declared as array the name within the coding should also differ from the corresponding Java Class name the type refers to.
    If all this is done you can deploy the web service to the J2EE:
         right click on "Enterprise Application" DC and choose "Development Component - Build..." and build all corresponding components
         right click on "Enterprise Application" DC and choose "Development Component - Deploy"
    Test the new web service via <J2EE URL>/wsnavigator/enterwsdl.html
    Create PI interface
    After the web service is created successfully the PI integration can be started.
    Therefore, within the Enterprise Services Builder create a data type according to the web service definition. All components defined on top-level for this data type should be declared as incoming parameter for the web service business method. Therefore it could be necessary to create some sub data types on PI first and add those to the "master" data type.
    Ensure that the names of the components correspond to the names defined in the web service (see virtual interface here). Those names must exactly be the same - including lower/upper case. Also take care for the ordering of the components.
    In case you need to include arrays following applies:
    The upper level is of occurrence "1:1". This has only one sub-entry with occurrence "1:n". The names for upper and sub-level must not equal.
    Based on the data type a message type is created. The name of the message type must be exactly the same as the name of the web service business method. (Hint: the name of the web service business method was most likely changed in the virtual interface. Then this name must correspond to the message type name.) Based on the message type an asynchronous inbound interface is to be created (which will be referred in the Integration Directory). The operation name for this interface (left panel) should be the same as the name for the web service business method.
    Create PI mappings and routings
    How to map (message mapping and operation mapping) from source to the web service message I wont explain here as this depends on the source message. The only important things here are:
         When creating the SOAP communication channel within the Integration Builder the "Target URL" is:
              <J2EE URL>/<Access URL as specified in web service creation>?wsdl&style=document
         The soap action is the name of the web service business method.
         Most likely the web service needs authentication to be executed.

  • Web Service Introspection + Ant

    I'm working on a large project which involves pulling data
    from over 30 different web services. I'm using the Web Service
    Introspection Wizard in Flex Builder 3 to create proxy classes. I
    am then running my own custom ant tasks to automatically generate
    further wrappers based on the generated proxy classes.
    I would like to automate the whole process such that I can
    update all Web Service Proxy classes without going through the Flex
    Builder Wizards, perhaps from a java class or ant task. Is this at
    all possible? Is there an API I can tap into to do this? I don't
    want to sit there going through the wizard over 30 times to update
    each service manually...

    *bump* Anyone?

  • XML scheme and Web services enhancement for MS Word integration in CRM 2007

    Hi,
    I am trying to use the Template designer and the web services tool in order to create a MS Word template for the quotation.
    We have created a new web service, using the Web Service Tool
    (transaction BSP_WD_CMPWB, type WS_DESIGN_TOOL). I can use this web service when creating a quotation word template and everything works fine.
    I need to enhance the web service with some custom fields and logic. I found the blog:
    Web-services enhancement for MS Word integration in CRM 2007
    /people/community.user/blog/2008/11/18/web-services-enhancement-for-ms-word-integration-in-crm-2007
    The blog describe how to enhance the web service, extend the output
    structure etc.
    We have done all the steps in the blog, and everything looks fine. When
    we test the web service, using the Web Service Navigator, all the new
    fields we added to the output structure are displayed. The WSDL
    document also looks fine, displayed from the Web Service
    Administration.
    The problem occur when try to create the word template using the
    Template Designer. The XML scheme is not displayed in the word
    document. This only happens if we use an enhanced web service.
    Anyone familiar with this issue?
    Kind regards,
    Johan Wigert

    Hi,
    You may have to upgrade your MS word 2003 to MS Word 2007.
    Before you do that please opening View > toolbars > Task Pane and check if you can get XML Schema from the web service.
    Regards,
    Sandeep Chavan

  • Generating Web Services bases on the WSDL interface

    Hello everybody.
    my question is.
    How can i generated all the java classes of a web services basen on a wsdl definition.
    how can i generate a simple java classe or how can i generate a ejb session, thet serve as a end point for my services
    any sugestion could be so helpfull

    The tool used to generate java class from WSDL is vender dependent, because each JAX-RPC engine is implemented differently (even they have to implement all JAX-RPC API, but low level stub call is engine dependent).
    So to generate you class from WSDL, you have to have tool first. Since all J2EE 1.4 app servers are required to have implementation of JAX-RPC API and its run time engine (but many J2EE 1.3 app servers also included JAX-RPC API and engine) , what you want to do could be to find any J2EE 1.4 app server, such as WAS or WSAD, or Sun's Application Server PE 8.1, read their examples carefull and you will find the way how to generate classes from WSDL.

  • Error on "Open Web Service navigator for selected binding"

    Hi All,
    I am getting below error when I click on "Open Web Service navigator for selected binding" (3rd link) on SOAMANAGER under WEB SERVICE ADMINISTRATION.
    2nd link i.e., Open WSDL document for selected binding working fine.
    But when I click on 3rd link as mentioned in beginning, I am getting below error message,
    J2EE host or port not specified; define them under "System Settings"
    Please suggets steps how to define host or port as mentioned in error message.
    Regards,
    Saravanan.

    Hi,
    Please follow the steps described below to solve your problem...
    define them under "System Settings" -> SOAMANGER -> Technical Configuration -> System Global Settings -> Access information J2EE engine server ->
    Host = the name of your server (Java)
    Port = the same port that you launched SOAMANAGER
    Best Regards,
    Vasanth G

  • Web-services enhancement for MS Word

    Hi,
    I have done all the steps described in the blog /people/community.user/blog/2008/11/18/web-services-enhancement-for-ms-word-integration-in-crm-2007 about Web-services enhancement for MS Word,  but the last step I did not complete successfully.
    When I start the template designer no offer structure OUTPUT of web service, the template is blank.
    The funny thing is that when I delete the APPEND structure with fields Z, and I press Check button and activate the web service again I have no problem, I start the template designer and reappear standard fields.
    Anyone have any idea what happens?
    Thanks and regards

    Hi,
    You may have to upgrade your MS word 2003 to MS Word 2007.
    Before you do that please opening View > toolbars > Task Pane and check if you can get XML Schema from the web service.
    Regards,
    Sandeep Chavan

  • Web Services Connector for JMX available

    We are glad to announce that the Reference Implementation of our Web-Services Connector for JMX Agents, being defined by JSR 262, is available in Early Access on http://ws-jmx-connector.dev.java.net/. This major milestone is aligned with the second Early Draft Review of the Specification in the Java Community Process.
    The WS-Connector for JMX is based on the WS-Management protocol, defined by the DMTF. Its greatest benefit is to provide interoperability between a variety of client applications compliant with this standard, including those not based on the Java platform, and any JMX-based instrumentation.
    This week, at JavaOne, we will demonstrate examples of this interoperability on stage during the technical session "TS 2656 - JMX Technology: Who's Doing What". We will show in particular how Windows Vista's management tools can use the JVM telemetry instrumentation. Join Eamonn McManus and Jean-Francois Denise, or watch their blogs, for more details on this.
    We encourage you to use and provide feedback on the WS-Connector RI early access, which is fully functional and, we believe, already pretty stable.
    Note that our implementation of the WS-Management protocol is based on the Wiseman open source project, which lives at http://wiseman.dev.java.net/.
    The JMX Team.

    We are glad to announce that the Reference Implementation of our Web-Services Connector for JMX Agents, being defined by JSR 262, is available in Early Access on http://ws-jmx-connector.dev.java.net/. This major milestone is aligned with the second Early Draft Review of the Specification in the Java Community Process.
    The WS-Connector for JMX is based on the WS-Management protocol, defined by the DMTF. Its greatest benefit is to provide interoperability between a variety of client applications compliant with this standard, including those not based on the Java platform, and any JMX-based instrumentation.
    This week, at JavaOne, we will demonstrate examples of this interoperability on stage during the technical session "TS 2656 - JMX Technology: Who's Doing What". We will show in particular how Windows Vista's management tools can use the JVM telemetry instrumentation. Join Eamonn McManus and Jean-Francois Denise, or watch their blogs, for more details on this.
    We encourage you to use and provide feedback on the WS-Connector RI early access, which is fully functional and, we believe, already pretty stable.
    Note that our implementation of the WS-Management protocol is based on the Wiseman open source project, which lives at http://wiseman.dev.java.net/.
    The JMX Team.

  • Creating web service system for Visual Composer

    Hello,
    I seem to have made some changes that made my unable to create web service systems for Visual Composer. 
    The change I made is in NetWeaver Administration > Configuration > Application Resources > WebServicesFactory, I added the Configuration Property "UseCacheByDefault" with Boolean value = true. 
    After this, if I create a web service system in Enterprise Portal, the Connection Tests fail.  In Visual Composer when I define a web service system, the error I am getting is: "Connector Factory not found for value WebServicesFactory".
    I have tried to delete the UseCacheByDefault property I added as well as restart the server but I am still getting the error.
    However when I test my web service using the Web Services Navigator, I am not getting any problems.  So my guess is the problem lies with the connection factory.
    Can anyone help me with this issue?
    Thanks.

    Hello,
    Since creating WS system in the portal resulted with failed connection test, the issue has nothing to do with VC.
    I'm just guessing, but try to configure proxy in the J2EE engine.
    If that doesn't help I suggest you raise this question in the portal forum.
    Best regards,
    Shay

  • Best SOAP Web Services Architecture for E-Commerce

    Hi there,
    I have developed an E-Commerce system following the normal way of
    developing Java web applications (all classes and JSP files in one Eclipse web project).
    I want to modularize the application, I want to split the application into
    two applications:
    1. The core app, with SOAP web services methods
    2. The client (front-end JSP files and some servlets to request/receive responses from the SOAP web services core app)
    Basically, I want the servlets in the client app to call the core SOAP web services app for data such as
    get product by ID, get customer by ID, etc...
    The core SOAP web services app would then return a response in an XML format, which I then
    would map to Java objects at the client application.
    My questions are:
    1. Is this the right way to go?
    2. Where should the session management be? At the client app?
    Hope you can help?
    I have been thinking about a proper architecture for 2 years and honestly it's been giving me sleeping problems.
    Thanks!

    It works. Thanks,
    Ioana
    "Neal Yin" <[email protected]> wrote:
    The error means your EJB is not deployed.
    Adding a EJB module to your application.xml file of the ear should fixe
    it.
    <application>
    <display-name />
    <module>
    <web>
    <web-uri>dox_sdi.war</web-uri>
    </web>
    </module>
    <module>
    <ejb>DocumentService.jar</ejb>
    </module>
    </application>
    "Ioana Meissner" <[email protected]> wrote in message
    news:3cf640cc$[email protected]..
    I have used the following example for my own web service with EJBcomponent and SOAP
    Message Handler Chain:
    http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
    I have a deployment error:
    javax.naming.NameNotFoundException: Unable to resolve'app/ejb/DocumentService.j
    ar#DocumentService/home' Resolved: 'app/ejb'Unresolved:'DocumentService.jar#Doc
    umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
    In attachement is the ear file.
    Is there a problem in web-services.xml?
    Thanks

Maybe you are looking for

  • Com.sap.aii.adapter.jdbc.svc and com.sap.aii.adapter.jms.svc don't start

    Hello, In order to configure JMS Receiver Adapter to access Websphere Application Server 7.0, I have recently deployed file com.sap.aii.adapter.lib.sca with the following libraries: com.sap.aii.adapter.lib_api.jar com.ibm.ws.ejb.thinclient_7.0.0.jar

  • Source ip filtering with class map on cisco ace30

    Hello , I would like to know if it is  possible to filter source ips connecting to a virtual ip  within a class map configuration ( or something else  ) ? access-list S_IP_FILTERING line 8 extended permit ip host 1.1.1.1 any class-map match-all S_IP_

  • How to Avoid Empty Space in Excel Export , while using SubReport.

    We have a sceneraio where we have parent child relationship and we are using the SubReport Concept to map the child data by taking input parameter from Parent Report. The RPL/HTMl viewer , PDF works fine, but  when we export data into excel empty row

  • Error on installing Oracle Developer Suite 10g (10.1.2.0.2)

    I try to install: Oracle Developer Suite 10g (10.1.2.0.2), and lick on the set up icon. Then I get error message: "Actuall checking SWAP space: 1440 MB availabe, 1535 MB required... Failed " I don't understand what is meant, and how to fix it? I have

  • How to compare the same array?

    Hello, The question not how to compare arrays. I have a method that gives results of an array type int. for(......){ int [] arrayFunc(int [] input) return arrayOut; }I want to compare those arrayOut arrays. I need to find a way to save the first outp