WebService, HttpService, namespace

I've happily been using htttpService calls, connecting to my
own PHP scripts without many problems. But I now have to use
services provided by a third party. The services can be used with
either webService or httpService, but all return xml data with an
included namespace. (xmlns="
http://www.example.com/api").
This seems to make life difficult, and I suspect I'm missing some
magic ingredient. My biggest problem is populating a datagrid with
the returned data.
1. Problems using ArrayCollection
If I use the webService call, and *don't* use the e4x
resultFormat, I can populate the grid by setting the dataProvider
to service.operation.lastResult. This works OK.
If, instead, I set the dataProvider to an mx:ArrayCollection
object like below, it doesn't work. No data appears in the grid.
(This method is illustrated in a number of examples in the docs.)
<mx:ArrayCollection id="statesAC"
source="service.operation.lastResult" />
But if I add an mx:Binding element, and point this to the
ArrayCollection, it works.
<mx:Binding source="service.operation.lastResult"
destination="statesAC" />
<mx:ArrayCollection id="statesAC" />
I should be happy that this works, but I'd be more
comfortable knowing why the middle approach doesn't, especially as
the docs seem to push this as a preferred approach. Any thoughts?
2. Problems using XMLListCollection
This is more troubling, as I'd prefer to use an
XMLListCollection to populate the grid.
I've had no success using the webService approach. I can't
get any of the above techniques for ArrayCollection to work for an
XMLListCollection. No data appears in the grid.
I've had more success with httpService and handling and
converting the XML directly in the service's result event. But this
also is not straightforward:
-- I have to set a namespace, using either "default xml
namespace = ...." or "use namespace ...". Without doing this, I'm
unable to extract an XMLList from the returned XML. (The XMLList is
used to make the XMLListCollection for the DataGrid.)
-- It seems that the DataGrid's dataField properties are not
recognised when a namespace is being used, even when the
above-mentioned namespace settings are in place. A labelFunction
has to be used, but even that is not straightforward.
Assuming a property name of "Name", this won't work for a
column setting (no data appear in the column):
<mx:DataGridColumn dataField="Name" headerText="Name"/>
This will work:
public function gridFunction(item:Object,
column:DataGridColumn):String {
return item.Name;
<mx:DataGridColumn headerText="Name"
labelFunction="gridFunction"/>
But this won't (although it works with XML that has no
namespace set):
public function gridFunction(item:Object,
column:DataGridColumn):String {
var fieldName:String = column.dataField;
return item[fieldName];
<mx:DataGridColumn headerText="Name"
labelFunction="gridFunction"/>
The labelFunction approach, although it displays data, still
leaves isues with sorting. I'm sure this is not how things are
meant to be.
Any insights as to how to make this easier would be
appreciated, especially with regard to working with
XMLListCollections.

From the webservice example.........
http://www.cflex.net/showfiledetails.cfm?ChannelID=1&Object=File&objectID=582
Instead of using:
default xml namespace = "http://www.webservicex.net"; to
define the default namespace of the Webservice,
You can automatically find the namespace of the Webservice
and set it to your default namespace in your result handler. Then
you would be able to use multiple webservices in multiple result
handlers.
[Bindable]private var xmlResult:XML;
private var wsDefaultNS:Namespace;
private var wsDefaultNS:Namespace;
private function onResult(oEvent:ResultEvent):void
xmlResult = XML(oEvent.result);
wsDefaultNS = xmlResult.namespace();
default xml namespace = Namespace(wsDefaultNS);
I have only been able to get data from webservices into a
datagrid by the labelfunction. I don't know of another way.

Similar Messages

  • How can I create UI components dynamically based on the result of WebService/HttpService call?

    I would like to create child components of the component
    based on a XML which is retrieved by WebService/HttpService call.
    createChildren() is the one to be used to create components
    dynamically. But if I use createChildren() and call a
    WS/HttpService request in createChildren method, I can not get the
    result of WS/HttpService request in createChildren().
    It seems that the result event is processed later after
    createChildren() is completed.
    How can I implement my requirement?
    I would appreciate any pointer or suggestion.
    Best regards
    Masa

    1) Use a List, with a custom itemRenderer
    2) Use a Repeater (Probably easiest)
    3) use Actionscript to addChild() components.
    Tracy

  • ODI-Webservice Invocation- Namespace missing in BPEL

    Hi,
    I have installed ODI (10.1.3.4).While trying to invoke a webservice(simple BPEL process) by giving the wsdl url, and giving the inputs and executing it, the request to the webservice(BPEL process) reaches without the namespace spacified but for the root element. Could anyone suggest a solution to this missing namespace during webservice invocation in ODI
    Thanks in advance.
    Regards,
    Praveen

    Were you able to find any fix for this issue. We are having a major show stopper because of this. Your help will be appreciated. Thank you.

  • Webservice request namespace

    Hi there...
    How can i put a namespace in my request xml in flex. So, my
    going data is:
    <clientRequestwithReturn>
    <MoneyTransferRequest>
    <requestChannel>01</requestChannel>
    <fromAccountNo>0008830006000007</fromAccountNo>
    </MoneyTransferRequest>
    </clientRequestwithReturn>
    But i need to send :
    <xxx:clientRequestwithReturn xmlns:open="
    http://www.xxxxx.org/">
    <yyy:MoneyTransferRequest xmlns:mon="
    http://www.yyyyy.com/">
    <requestChannel>01</requestChannel>
    <fromAccountNo>0008830006000007</fromAccountNo>
    </mon:MoneyTransferRequest>
    </open:clientRequestwithReturn>
    So i need to put namespace info to my request object. How can
    i do it?

    I have the same problem. I am trying to connect to a webservice running on IBM websphere but it doesn't accept the xml in my request. It appears to be the same namespace issue.
    Did you ever find a solution for this?
    Is it a valid webservice call if you omit the namespace for an element or is this a bug in the Adaptive WS implementation?
    Web Dynpro web service model generated request:
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Header>
    <sapsess:Session xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/">
    <enableSession>true</enableSession>
    </sapsess:Session>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    look between these lines -
    <ns1:tamKontrolleraKontoLastAnrop xmlns:ns1="http://schemas.fora.se/modell/tam/1.0/TAM_Data">
    <AnvandarNamn>30039647</AnvandarNamn>
    </ns1:tamKontrolleraKontoLastAnrop>
    look between these lines -
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    As you can see the tag
    <AnvandarNamn>30039647</AnvandarNamn>
    is missing a namespace.
    It should be
    <ns1:AnvandarNamn>30039647</ns1:AnvandarNamn>
    Using a third part tool called Soapui i generate this request that works:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tam="http://schemas.fora.se/modell/tam/1.0/TAM_Data">
       <soapenv:Header/>
       <soapenv:Body>
          <tam:tamKontrolleraKontoLastAnrop>
             <tam:AnvandarNamn>30039647</tam:AnvandarNamn>
          </tam:tamKontrolleraKontoLastAnrop>
       </soapenv:Body>
    </soapenv:Envelope>

  • Invoke JCAPS webservice from Java Application

    I am getting
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
    faultSubcode:
    faultString: JAXRPC.TIE.01: caught exception while handling request: unrecognized operation: Test
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace: AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
    faultSubcode:
    faultString: JAXRPC.TIE.01: caught exception while handling request: unrecognized operation: Test
    faultActor:
    faultNode:
    faultDetail:
    JAXRPC.TIE.01: caught exception while handling request: unrecognized operation: Test
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
    at org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl. java:1015)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser. java:633)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocum entScannerImpl.java:719)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDisp atcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDoc umentFragmentScannerImpl.java:368)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.jav a:834)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.jav a:764)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java: 1242)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
    ==========================================================
    JAVA CODE :
    public static void main(String[] args) {
    // TODO code application logic here
    try {
    WebServiceClient wsClient = new WebServiceClient();
    String strTargetNameSpaceIn ="urn:stc:egate:jce roject3_Collaboration_1" ;
    String strPortNameIn = "ExecutePortType";
    String strServiceNameIn ="Project3_Collaboration_1Service" ;
    String strOperationNameIn ="Test" ;
    //String strWebserviceURLIn = "http://165.68.202.246:8080/uddidocs/Nonesecurewebservice/testweb3/jc/wsdl_jce_jc-2145777518.wsdl";
    String strWebserviceURLIn = "http://localhost:8080/uddidocs/EnvUCHDevLocal/Project3/Collaboration_1/wsdl_jce_Collaboration_1771627736.wsdl ";
    String strInputIn = " Test JCAPS WebService ";
    String output = wsClient.callWebService(strTargetNameSpaceIn,strPortNameIn,strServiceNameIn,strOperationNa meIn,strWebserviceURLIn,strInputIn);
    System.out.println("WebService Output " + output);
    } catch (Exception err) {
    System.out.println( " EXCEPTION OCCURED");
    err.printStackTrace();
    public String callWebService(String strTargetNameSpace,String strPortName,String strServiceName,String strOperationName,String strWebserviceURL,String strInput) throws ServiceException, MalformedURLException, RemoteException
    if(strTargetNameSpace==null || strPortName == null || strServiceName == null || strOperationName == null || strWebserviceURL ==null || strInput == null )
    throw new IllegalArgumentException();
    ServiceFactory factory = ServiceFactory.newInstance();
    // for webservice target namespace
    String targetNamespace =strTargetNameSpace;
    // for webservice name
    QName serviceName = new QName(strTargetNameSpace,strServiceName);
    // for webservice port name
    QName portName = new QName(strTargetNameSpace,strPortName);
    // for operation name
    QName operationName = new QName("urn:stc:egate:jce roject3:Collaboration_1WSDL:Test",strOperationName);
    // for url of webservice ".wsdl" file
    URL wsdlLocation = new URL(strWebserviceURL);
    if(wsdlLocation==null)
    throw new ServiceException();
    // for bind to service name with wsdl file
    Service service = factory.createService(wsdlLocation, serviceName);
    // for call to webservice using operation name
    Call call = service.createCall(portName, operationName);
    String result = null;
    try{
    System.out.println(" STR INPUT" + strInput);
    result = (String) call.invoke(new Object[] {strInput});
    }catch(Exception e){
    e.printStackTrace();
    result="Occur webservice processing error";
    if(result==null)
    result="Occur webservice processing error";
    String str = "Webservice Responce from :"+strWebserviceURL;
    return result;
    }//close function
    =========================================================
    WSDL FILE :
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="Project3_Collaboration_1" targetNamespace="urn:stc:egate:jce roject3_Collaboration_1" xmlns:tns="urn:stc:egate:jce roject3_Collaboration_1" xmlns:inMsg="http://dn1318d-uwsxp:13000/repository/UCHDevLocal/Project3/UCHDevLocal23b1e1:1192e3ad66a:-8000/XSDDefinition1" xmlns:errMsg="urn:stc:egate:jce:JavaException" xmlnsutMsg="http://dn1318d-uwsxp:13000/repository/UCHDevLocal/Project3/UCHDevLocal23b1e1:1192e3ad66a:-7fff/XSDDefinition2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
    <import namespace="http://dn1318d-uwsxp:13000/repository/UCHDevLocal/Project3/UCHDevLocal23b1e1:1192e3ad66a:-7fff/XSDDefinition2" location="XSDDefinition2.xsd"/>
    <import namespace="http://dn1318d-uwsxp:13000/repository/UCHDevLocal/Project3/UCHDevLocal23b1e1:1192e3ad66a:-8000/XSDDefinition1" location="XSDDefinition1.xsd"/>
    <types>
    <xs:schema elementFormDefault="qualified" id="UID-20000000-DC88392E190100-A544977D-01" targetNamespace="urn:stc:egate:jce:JavaException" xmlns="urn:stc:egate:jce:JavaException" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="JavaException" type="JavaExceptionType"/>
    <xs:complexType name="JavaExceptionType">
    <xs:sequence>
    <xs:element name="Type" type="xs:string"/>
    <xs:element name="Message" type="xs:string"/>
    <xs:element name="Trace" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    </types>
    <message name="Output">
    <part name="Body" element="outMsg utput"/>
    </message>
    <message name="Input">
    <part name="Body" element="inMsg:Input"/>
    </message>
    <message name="JavaExceptionMessage">
    <part name="FaultDetails" element="errMsg:JavaException"/>
    </message>
    <portType name="ExecutePortType">
    <operation name="Test">
    <input name="Input" message="tns:Input"/>
    <output name="Output" message="tns utput"/>
    <fault name="JavaException" message="tns:JavaExceptionMessage"/>
    </operation>
    </portType>
    <binding name="ExecutePortTypeBinding" type="tns:ExecutePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="Test">
    <soapperation soapAction="urn:stc:egate:jce roject3:Collaboration_1WSDL:Test" style="document"/>
    <input name="Input">
    <soap:body parts="Body" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output name="Output">
    <soap:body parts="Body" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
    <fault name="JavaException">
    <soap:fault name="JavaException" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </fault>
    </operation>
    </binding>
    <service name="Project3_Collaboration_1Service">
    <port name="ExecutePortType" binding="tns:ExecutePortTypeBinding">
    <soap:address location="http://localhost:18501/WsServer/ExecutePortType"/>
    </port>
    </service>
    </definitions>

    Hi Abinap.
    If you are woking with JEE 1.3 or JAX-RPC.
    You need to add some libraries to java project.
    Go to the tab "Add Libraries" on context menu of the project: Properties --> Java build Path
    Select "Add variable" button, after select the SAP_WEBSERVICES_EXT_LIBS_HOME variable and click on "Extend" Button, finally select all the libraries under lib folder, do the same to the SAP_XML_TOOLKIT_LIBS_HOME variable.
    Greetings.
    Manuel Loayza Gahona

  • Error:1067 - Implicit coercion of a value of type QName to an unrelated type QName

    hi,
    I'm new in flex and my english not good. I'll try to explain
    my problem :(
    I have an application mxml and a component mxml. I imported a
    wsdl from .net webservice.
    In main mxml I added:
    <mx:Application .....
    xmlns:webservices="generated.webservices.*"/>
    and
    <webservices:xService id="m_service"/>
    there is no problem for this. But when I added into component
    mxml like this:
    <mx:Canvas.....
    xmlns:webservices2="generated.webservices.*"/>
    and
    <webservices2:xService id="m_service2"/>
    I'm getting the following error:
    error line sample: (and 633 similar lines in
    generated.webservices)
    responseMessage.wrappedQName = new QName("
    http://tempuri.org/","GetMemberListResponse");
    error:
    1067: Implicit coercion of a value of type QName to an
    unrelated type QName
    When I removed the <webservices2:xService
    id="m_service2"/> line from component mxml, I'm not getting an
    error.
    Flex 3.0 - sdk 4.0
    Thanx for your helps

    thanx your answer,
    I changed (like this:[WebService(Namespace = "
    http://Info.WebService/MyInfoService"))
    but it doesn't work. I still have same problem.
    It's really strange problem. When I used in application mxml,
    it's working. But when I used in component mxml, I'm getting error.
    I tested the web servise in other test application mxml with
    following code: (it's working excellent)
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute" xmlns:webservices="generated.webservices.*"
    creationComplete="test12()">
    <mx:Script>
    <![CDATA[
    import mx.rpc.AsyncToken;
    private function test12():void
    m_service12.addgetFuelList_header(GetAuthHeader());
    m_service12.getFuelList();
    ]]>
    </mx:Script>
    <mx:Script source="***/ServiceAuthHeaderGetter.as"/>
    <webservices:TankInfoService id="m_service12"/>
    <mx:DataGrid
    dataProvider="{m_service12.getFuelList_lastResult}">
    </mx:DataGrid>
    </mx:Application>
    And finally I closed "Enable strict type checking" from
    project properties and the errors are disappeared.
    But now I got new problems with webservice :)
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    I guess <webservices:TankInfoService id="m_service"/>
    is null.
    But why?
    in component mxml
    I added xmlns:webservices="generated.webservices.*" namespace
    and
    <webservices:TankInfoService id="m_service"/>
    my code is:
    m_service.addgetMemberList_header(GetAuthHeader());
    m_service.getMemberByUserPassword(this.txtUser.text,
    this.txtPassword.text);
    the error:
    TypeError: Error #1009: Cannot access a property or method
    of a null object reference.
    Any ideas???

  • Basic Question about XI

    Dear All,
    I am learning XI and picking up quickly. I have couple question in XI.I know the question which are raised are very basic and please bare me. I would be glad and will be awarded points for good explanation for the below questions,
    1.     for scenarios like Web service>XIRFCWeb service or FileXIRFCWeb Service or  XX XIRFC--XX (XX could be any thing) ,  Do we have to use BPM compulsorily if so why do we go for BPM and why not without BPM?
    2.     Scenarios like XXXIIDOC--XX, do we have to use BPM again?
    3.     While Designing the Data Types, you have Occurrence Field where we define the MinOccurs and MaxOccurs. What happen when you select the following option in below.
    a.     0—0 , 0---1, 0…unbounded ,  1…0,1..1,1….unbounded
    4.     In Message Interface, when do we go for Abstract—Synchronous and Abstract ---Asynchronous. When do we select Abstract Category option? 
    5.     In BPM why do we define Outbound—Asynchronous and Abstract – Asynchronous for Outbound Process and Inbound --- Asynchronous and Abstract – Asynchronous for Inbound Process and one Abstract – Synchronous option? I hope I am clear here.
    6.     In Configuration, What is the difference between Business System and Business Service and in which scenarios do we use them?
    Thanks in advance
    Ajaz

    Hi,
    Find your answers below.
    1. for scenarios like Web service>XIRFCWeb service or FileXIRFCWeb Service or XX XIRFC--XX (XX could be any thing) , Do we have to use BPM compulsorily if so why do we go for BPM and why not without BPM?
    >> BPM is not compulsory. But if the business logic is complex you will have to go for BPM. For ex: if you want to use correlation,exception handlers, etc.
    2. Scenarios like XXXIIDOC--XX, do we have to use BPM again?
    >> same as above
    3. While Designing the Data Types, you have Occurrence Field where we define the MinOccurs and MaxOccurs. What happen when you select the following option in below.
    a. 0—0 , 0---1, 0…unbounded , 1…0,1..1,1….unbounded
    >> denotes occurenece of an element or node
    (0,0) - no Occurrence
    (0,1) - Occurrence can be 0 or 1
    (1,0) - error
    ( 0…unbounded)- Occurrence can be 0 to infinity
    (1..1) - only once. mandatory
    1….unbounded -  Occurrence can be 1 to infinity . mandatory
    4. In Message Interface, when do we go for Abstract—Synchronous and Abstract ---Asynchronous. When do we select Abstract Category option?
    >> Abstract interfaces are mainly used in BPMs.
    Abstract interfaces can be used for both inbound and outbound operations.
    Abstract—Synchronous  - >For req and res
    Abstract ---Asynchronous -> one way
    5. In BPM why do we define Outbound—Asynchronous and Abstract – Asynchronous for Outbound Process and Inbound --- Asynchronous and Abstract – Asynchronous for Inbound Process and one Abstract – Synchronous option? I hope I am clear here.
    >> coz only abstract interfaces are possible in BPM
    6. In Configuration, What is the difference between Business System and Business Service and in which scenarios do we use them?
    Business System > denotes a physical system
    Business Service > denotes a service like webservice, Httpservice etc.
    HTH
    Chemmanz

  • Comsume Web Service via ABAP SAP 4.7

    Hello Experts
    We wanted use an ABAP program to call a web service.  We were only given the target WSDL file.  Not sure what to do with this and what information can we get from this. 
    As I checked, the format is different from the conventional web service I found in the blogs.  Usually the WSDL URL is format below.
    http://www.webservicex.net/airport.asmx?wsdl
    and you can see and test the services from this URL http://www.webservicex.net/airport.asmx
    But in our case, this the WSDL URL is below.
    http://<host>/dd10/services/shipRSS?wsdl
    and we cannot see and test service from http://<host>/dd10/services/shipRSS this is what we are getting.
    "shipRSS
    Hi there, this is an AXIS service!
    Perhaps there will be a form for invoking the service here..."
    Having this kind of WSDL, can we still create an ABAP program that can consume this?  Is there difference in the programming and parameters.  Currently we are using the program template from this blog /people/durairaj.athavanraja/blog/2004/09/20/consuming-web-service-from-abap as we are only running on SAP 4.7 but it seems not to be working.  Any thoughts?
    Thank you very much!
    Tony

    Hi Andrei,
    We did the changes in the program and we seem to have made some progress here.  Here are the test results now.  
    Test Soap
    >> Starting...
    >>
    >> TEST: SOAP call to method STFC_CONNECTION
    >>
    >> Result of SOAP call
       echotext =
       resptext =
    << ...Done
    Here is an excerpt of the program of which parameters are inputted.  We are suppose to send an XML string.  We have not made much changes in the sample program except the one you highlighted to us before.  But if there are any concerns it will on the part where to construct soap request document which is shown below.  If it is not too much to ask, would you help us check the parameters if they are correct.  Thank you very much.  You've been very helpful.
    1 construct soap request document
      CREATE OBJECT osoap.
      IF osoap IS INITIAL.
        WRITE: / '> cannot create soap document, exiting...'. EXIT.
      ENDIF.
      TRY.
    ** OLD VALUE:
    **    CALL METHOD osoap->set_method
    **      EXPORTING
    **        nsprefix   = 'saprfc'
    **        nsvalue    = CSoapConstants=>sc_rfc_function_ns
    **       attributes =
    **        name       = 'STFC_CONNECTION'.
    NEW VALUE
      CALL METHOD osoap->set_method
      EXPORTING
        nsvalue ='http://webservice.<namespace>'
        name = 'exec' .
        "-- parameter: REQUTEXT
        GET REFERENCE OF p_requtext INTO dref.
        CALL METHOD osoap->add_parameter
          EXPORTING
          nsprefix   =
          nsvalue    =
          attributes =
            direction  = CSoapConstants=>ic_param_in
            name       = 'REQUTEXT'
            value      = dref.
        "-- parameter: ECHOTEXT
        GET REFERENCE OF p_echotext INTO dref.
        CALL METHOD osoap->add_parameter
          EXPORTING
          nsprefix   =
          nsvalue    =
          attributes =
            direction  = CSoapConstants=>ic_param_out
            name       = 'ECHOTEXT'
            value      = dref.
        "-- parameter: RESPTEXT
        GET REFERENCE OF p_resptext INTO dref.
        CALL METHOD osoap->add_parameter
          EXPORTING
          nsprefix   =
          nsvalue    =
          attributes =
            direction  = CSoapConstants=>ic_param_out
            name       = 'RESPTEXT'
            value      = dref.
        "-- use ABAP tag names
        CALL METHOD osoap->set_tag_name_format
          EXPORTING format = CSoapConstants=>ic_tagfmt_default.
      CATCH CSoapExceptionUsage INTO usgEx.
        WRITE: / ' > exception occurred'.
        exTxt = usgEx->get_text( ).
        WRITE: / ' > text: ', exTxt.
        EXIT.
      ENDTRY.
      isoap = osoap.

  • PHP And Flex

    I have been trying to understand (via researching the Web and
    books from bookstores) different ways to integrate a php/mysql
    database into my Flex application. There appear to be multiple
    solutions which is confusing me so I am looking for some advice and
    feedback. My initial attempt is relatively simple (one table with
    12 fields) but I would like to get comfortable with more advanced
    applications. I have looked at CREATE APPLICATION FROM DATABASE,
    creating a php page with an HTTP Service request(with print, echo
    etc xml info), and finally I have looked at Joomla solutions. I am
    looking for some guidelines as to what approach can and should be
    used. I am a little past beginner level both in PHP and MYSQL using
    MAMP right now and/or Navicat.

    ohaio
    webService , httpService(get,send) and RPC benchmark
    http://www.themidnightcoders.com/blog/2007/03/flex-remoteobject-vs-webservice.html

  • Business sevices

    when we use business service ? In case of using http adapter and soap adapter,do we should have to use business service only ? please clarify?

    Hi,
    Business Service:
    It is mostly used in B2B scenario - within two different companies (internet), where you don't know the Business Systems of your partner.
    Business Service, you need to maintain entries manually for inbound and outbound interface in ID
    Business Service denotes a service like webservice, Httpservice etc.
    While creating Business Services need not to registered in SLD.
    A Business Service represents an abstract, addressable unit. Business services are used in cross-company processes, for example, if the parties
    involved have only published their interfaces and not their system landscape, or it is only partly known. Using a business service, you can define the technical or business subunits of the companies involved and then assign them the relevant interfaces.
    Business System:
    Systems which are defined in SLD called Business System.
    A Business System is something that physically exists.
      A Business System are Technical,Physical or logical system. Like R/3 System.
    For all our A2A Scenario within the company (intranet)we generally define Business System.
      Example:
    Let us assume that ,if you want to download a file from a mainframe,transfer this file with file adapter and put it in an R/3 with an RFC call.
    Then the mainframe and the R/3 are your business systems, which do physically exist.
    Business Systems are used when you are sending data to and from an R3 system and can be of ABAP, JAVA and Third Party Types.
    >> In case of using http adapter and soap adapter,do we should have to use business service only?
    You can use both Business service and Business sytem as well.
    Hope this clear your concept
    Sameer

  • Code Completion for xService declarations?

    I don't know if it is just a long morning, but does code
    completion work for mxml webservice/httpservice operation
    declarations? It seems to be able to figure out the webservice
    element, but it can't parse out the operations for code completion.
    Having those references and maybe even properties created for the
    request elements would be fantastic.
    Again it could just be me the local noob. Working off of
    beta3.
    J

    quote:
    Originally posted by:
    Greg Lafrance
    See this post for some possible insight:
    http://www.kirupa.com/forum/archive/index.php/t-268080.html
    this was helpful, thanks!
    lou

  • Outbound messaging

    Hi ,
    I am working on the integration with the SFDC system and have all the docs pertaining to that...
    Here for the outbound soap calls from SFDC ...they are saying that they will make the calls in the following format...
    For e.g for sending the "Oppurtunity " data they will send the following "notification" message to PI....
    there can be upto 100 ( max occurs 100) "Oppurtunity" data sent in one soap call....
    <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"
             targetNamespace="http://soap.sforce.com/2005/09/outbound">
                <import namespace="urn:enterprise.soap.sforce.com" />
                <import namespace="urn:sobject.enterprise.soap.sforce.com" />
                <element name="notifications">
                    <complexType>
                        <sequence>
                            <element name="OrganizationId" type="ent:ID" />
                            <element name="ActionId" type="ent:ID" />
                            <element name="SessionId" type="xsd:string" nillable="true" />
                            <element name="EnterpriseUrl" type="xsd:string" />
                            <element name="PartnerUrl" type="xsd:string" />
                            <element name="Notification" maxOccurs="100"
                              type="tns:OpportunityNotification" />
                        </sequence>
                    </complexType>
                </element>
            </schema>
    I understand that in sender SOAP scenarios PI has to define the webservice( PI namespace and service interface )
    How do i define the above structure within PI so that they can send the information in the above format.
    For e.g if I define the namespace as "http://soap.sforce.com/2005/09/outbound"....what should be the outbound service interface name....???
    OR the above design is not possible and PI has to define a custom webservice with its own Service interface and namespace??

    Hello,
    How do i define the above structure within PI so that they can send the information in the above format.
    What you can do is to import the external definitions, then reference the xsds and then go to the messages tab. The message structure that you will see there is what the message structure will look like in PI.
    For e.g if I define the namespace as "http://soap.sforce.com/2005/09/outbound"....what should be the outbound service interface name....???
    Make your outbound service interface as descriptive as possible e.g SI_OS_OpportunityNotification where OS means Outbound Synchronous
    If the format they are sending does not match the one declared in the service interface e.g has prefixes, etc...you can use XMLAnonymizerBean, XLST/Java Mapping.
    Hope this helps,
    Mark

  • Handling result ciontaining xml nodes from  c# web service method call in flex

    I have read a article headed: Handling results as XML with
    the e4x result format
    Using this I have build a test application.But facing lot of
    problems.
    Here are the details of my code.I have used first example of
    using namespace.
    private namespace tempNamespace = "TEST1.WebServices";
    use namespace tempNamespace;
    I have specified result type as 'e4x' :
    <mx:WebService id="myTestService" showBusyCursor="true"
    wsdl="
    http://localhost/TEST/TestFlexWS.asmx?WSDL"
    useProxy="false">
    <mx:operation name="HelloWorldEx" resultFormat="e4x"
    result="Hello_Result_New(event);"
    fault="Hello_fault_New(event);">
    <mx:request>
    <strProductName>Test</strProductName>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    In result handler:
    o/p of myTestService.HelloWorldEx.lastResult is:
    <HelloWorldExResponse xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="
    http://www.w3.org/2001/XMLSchema"
    xmlns="TEST1.WebServices" xmlns:soap="
    http://schemas.xmlsoap.org/soap/envelope/">
    <HelloWorldExResult>&lt;PRODUCTCOLLECTION&gt;
    &lt;PRODUCT&gt;
    &lt;PRODUCTNAME&gt;Test Product
    121&lt;/PRODUCTNAME&gt;
    &lt;/PRODUCT&gt;&lt;/PRODUCTCOLLECTION&gt;</HelloWorldExResult>
    <TestResult></TestResult>
    </HelloWorldExResponse>
    When I display alert for :
    Alert.show(
    myTestService.HelloWorldEx.lastResult.HelloWorldExResult);
    It's showing me result as:
    <PRODUCTCOLLECTION>
    <PRODUCT>
    <PRODUCTNAME>NEW DAM</PRODUCTNAME>
    </PRODUCT>
    </PRODUCTCOLLECTION>
    But when I display alert for inner node it doesn't show me
    anything:
    Alert.show(
    myTestService.HelloWorldEx.lastResult.HelloWorldExResult.PRODUCTCOLLECTION.PRODUCT.PRODUC TNAME);
    Can anybody help me out?
    It will be gr8 help for me.

    I have read a article headed: Handling results as XML with
    the e4x result format
    Using this I have build a test application.But facing lot of
    problems.
    Here are the details of my code.I have used first example of
    using namespace.
    private namespace tempNamespace = "TEST1.WebServices";
    use namespace tempNamespace;
    I have specified result type as 'e4x' :
    <mx:WebService id="myTestService" showBusyCursor="true"
    wsdl="
    http://localhost/TEST/TestFlexWS.asmx?WSDL"
    useProxy="false">
    <mx:operation name="HelloWorldEx" resultFormat="e4x"
    result="Hello_Result_New(event);"
    fault="Hello_fault_New(event);">
    <mx:request>
    <strProductName>Test</strProductName>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    In result handler:
    o/p of myTestService.HelloWorldEx.lastResult is:
    <HelloWorldExResponse xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="
    http://www.w3.org/2001/XMLSchema"
    xmlns="TEST1.WebServices" xmlns:soap="
    http://schemas.xmlsoap.org/soap/envelope/">
    <HelloWorldExResult>&lt;PRODUCTCOLLECTION&gt;
    &lt;PRODUCT&gt;
    &lt;PRODUCTNAME&gt;Test Product
    121&lt;/PRODUCTNAME&gt;
    &lt;/PRODUCT&gt;&lt;/PRODUCTCOLLECTION&gt;</HelloWorldExResult>
    <TestResult></TestResult>
    </HelloWorldExResponse>
    When I display alert for :
    Alert.show(
    myTestService.HelloWorldEx.lastResult.HelloWorldExResult);
    It's showing me result as:
    <PRODUCTCOLLECTION>
    <PRODUCT>
    <PRODUCTNAME>NEW DAM</PRODUCTNAME>
    </PRODUCT>
    </PRODUCTCOLLECTION>
    But when I display alert for inner node it doesn't show me
    anything:
    Alert.show(
    myTestService.HelloWorldEx.lastResult.HelloWorldExResult.PRODUCTCOLLECTION.PRODUCT.PRODUC TNAME);
    Can anybody help me out?
    It will be gr8 help for me.

  • Dereference multivalued reference attribute to multivalued string attribute

    How can I Dereference multivalued reference attribute to multivalued string attribute. I want to flow this multivalued string attribute to AD. 

    I was able to develop the activity but it is going into infinite loop while inserting. Below is the code. Can you please guide where I am going wrong. Also as of now I have developed it only for inserting. I am using emuerateresourceactivity and added
    code activity using code.
    using System;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Collections;
    using System.Linq;
    using System.Workflow.ComponentModel.Compiler;
    using System.Workflow.ComponentModel.Serialization;
    using System.Workflow.ComponentModel;
    using System.Workflow.ComponentModel.Design;
    using System.Workflow.Runtime;
    using System.Workflow.Activities;
    using System.Workflow.Activities.Rules;
    using Microsoft.ResourceManagement.WebServices;
    using System.Collections.Generic;
    using Microsoft.ResourceManagement.Workflow.Activities;
    using Microsoft.ResourceManagement.WebServices.WSResourceManagement;
    namespace DereferenceActivityLibrary
    public partial class DereferenceActivity : SequenceActivity
    List<UniqueIdentifier> storeList;
    SequentialWorkflow parentWorkflow = null;
    int loopCount = 0;
    Guid targetGUID;
    const string FIMAdminGUID = "7fb2b853-24f0-4498-9534-4e10589723c4";
    List<string> storeName = new List<string>();
    string xpathFilter = "";
    string resourceType = "JambaStore";
    public DereferenceActivity()
    InitializeComponent();
    private void initializeReadResource_ExecuteCode(object sender, EventArgs e)
    if (!SequentialWorkflow.TryGetContainingWorkflow(this, out parentWorkflow))
    throw new InvalidOperationException("Unable to resove parent workflow");
    readResourceActivity.ActorId = new Guid(FIMAdminGUID);
    readResourceActivity.ResourceId = parentWorkflow.TargetId;
    targetGUID = parentWorkflow.TargetId;
    readResourceActivity.SelectionAttributes = new string[] { "StoreListReference" };
    private void initializeEnumerateResource_ExecuteCode(object sender, EventArgs e)
    string filterDEL = "]";
    if (null == readResourceActivity.Resource)
    throw new InvalidOperationException("Unable to determine the current request");
    ResourceType resource = readResourceActivity.Resource;
    storeList = resource["StoreListReference"] as List<UniqueIdentifier>;
    for (loopCount = 0; loopCount < storeList.Count; loopCount++)
    if (loopCount == 0)
    xpathFilter += "/" + resourceType + "[(ObjectID='" + storeList[loopCount].GetGuid() + "')";
    else
    xpathFilter += " or (ObjectID='" + storeList[loopCount].GetGuid() + "')";
    xpathFilter = xpathFilter + filterDEL;
    enumerateResourcesActivity.ActorId = new Guid(FIMAdminGUID);
    enumerateResourcesActivity.XPathFilter = xpathFilter;
    private void readStoresNameActivity_ExecuteCode(object sender, EventArgs e)
    ResourceType jambaStore = EnumerateResourcesActivity.GetCurrentIterationItem((CodeActivity)sender) as ResourceType;
    storeName.Add(jambaStore["DisplayName"].ToString());
    private void initializeUpdateResourceActivity_ExecuteCode(object sender, EventArgs e)
    List<UpdateRequestParameter> updateRequestParameters = new List<UpdateRequestParameter>();
    string targetAttribute = "Store";
    foreach (string store in storeName)
    updateRequestParameters.Add(new UpdateRequestParameter(targetAttribute, UpdateMode.Insert, store));
    this.updateResourceActivity_ActorId1 = new Guid(FIMAdminGUID);
    this.updateResourceActivity_ResourceId1 = targetGUID;
    this.updateResourceActivity_ApplyAuthorizationPolicy1 = false;
    this.updateResourceActivity_UpdateParameters1 = updateRequestParameters.ToArray<UpdateRequestParameter>();
    public static DependencyProperty updateResourceActivity_ActorId1Property = DependencyProperty.Register("updateResourceActivity_ActorId1", typeof(System.Guid), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public Guid updateResourceActivity_ActorId1
    get
    return ((System.Guid)(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ActorId1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ActorId1Property, value);
    public static DependencyProperty updateResourceActivity_ApplyAuthorizationPolicy1Property = DependencyProperty.Register("updateResourceActivity_ApplyAuthorizationPolicy1", typeof(System.Boolean), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public Boolean updateResourceActivity_ApplyAuthorizationPolicy1
    get
    return ((bool)(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ApplyAuthorizationPolicy1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ApplyAuthorizationPolicy1Property, value);
    public static DependencyProperty updateResourceActivity_ResourceId1Property = DependencyProperty.Register("updateResourceActivity_ResourceId1", typeof(System.Guid), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public Guid updateResourceActivity_ResourceId1
    get
    return ((System.Guid)(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ResourceId1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ResourceId1Property, value);
    public static DependencyProperty updateResourceActivity_UpdateParameters1Property = DependencyProperty.Register("updateResourceActivity_UpdateParameters1", typeof(Microsoft.ResourceManagement.WebServices.WSResourceManagement.UpdateRequestParameter[]), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public UpdateRequestParameter[] updateResourceActivity_UpdateParameters1
    get
    return ((Microsoft.ResourceManagement.WebServices.WSResourceManagement.UpdateRequestParameter[])(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_UpdateParameters1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_UpdateParameters1Property, value);
    using System;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Collections;
    using System.Reflection;
    using System.Workflow.ComponentModel.Compiler;
    using System.Workflow.ComponentModel.Serialization;
    using System.Workflow.ComponentModel;
    using System.Workflow.ComponentModel.Design;
    using System.Workflow.Runtime;
    using System.Workflow.Activities;
    using System.Workflow.Activities.Rules;
    namespace DereferenceActivityLibrary
    public partial class DereferenceActivity
    #region Activity Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    [System.Diagnostics.DebuggerNonUserCode]
    [System.CodeDom.Compiler.GeneratedCode("", "")]
    private void InitializeComponent()
    this.CanModifyActivities = true;
    System.Workflow.ComponentModel.ActivityBind activitybind1 = new System.Workflow.ComponentModel.ActivityBind();
    System.Workflow.ComponentModel.ActivityBind activitybind2 = new System.Workflow.ComponentModel.ActivityBind();
    System.Workflow.ComponentModel.ActivityBind activitybind3 = new System.Workflow.ComponentModel.ActivityBind();
    System.Workflow.ComponentModel.ActivityBind activitybind4 = new System.Workflow.ComponentModel.ActivityBind();
    this.readStoresNameActivity = new System.Workflow.Activities.CodeActivity();
    this.updateResourceActivity = new Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity();
    this.initializeUpdateResourceActivity = new System.Workflow.Activities.CodeActivity();
    this.enumerateResourcesActivity = new Microsoft.ResourceManagement.Workflow.Activities.EnumerateResourcesActivity();
    this.initializeEnumerateResource = new System.Workflow.Activities.CodeActivity();
    this.readResourceActivity = new Microsoft.ResourceManagement.Workflow.Activities.ReadResourceActivity();
    this.initializeReadResource = new System.Workflow.Activities.CodeActivity();
    this.currentRequestActivity = new Microsoft.ResourceManagement.Workflow.Activities.CurrentRequestActivity();
    // readStoresNameActivity
    this.readStoresNameActivity.Name = "readStoresNameActivity";
    this.readStoresNameActivity.ExecuteCode += new System.EventHandler(this.readStoresNameActivity_ExecuteCode);
    // updateResourceActivity
    activitybind1.Name = "DereferenceActivity";
    activitybind1.Path = "updateResourceActivity_ActorId1";
    activitybind2.Name = "DereferenceActivity";
    activitybind2.Path = "updateResourceActivity_ApplyAuthorizationPolicy1";
    this.updateResourceActivity.Name = "updateResourceActivity";
    activitybind3.Name = "DereferenceActivity";
    activitybind3.Path = "updateResourceActivity_ResourceId1";
    activitybind4.Name = "DereferenceActivity";
    activitybind4.Path = "updateResourceActivity_UpdateParameters1";
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.ActorIdProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind1)));
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.ApplyAuthorizationPolicyProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind2)));
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.ResourceIdProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind3)));
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.UpdateParametersProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind4)));
    // initializeUpdateResourceActivity
    this.initializeUpdateResourceActivity.Name = "initializeUpdateResourceActivity";
    this.initializeUpdateResourceActivity.ExecuteCode += new System.EventHandler(this.initializeUpdateResourceActivity_ExecuteCode);
    // enumerateResourcesActivity
    this.enumerateResourcesActivity.Activities.Add(this.readStoresNameActivity);
    this.enumerateResourcesActivity.ActorId = new System.Guid("00000000-0000-0000-0000-000000000000");
    this.enumerateResourcesActivity.Name = "enumerateResourcesActivity";
    this.enumerateResourcesActivity.PageSize = 100;
    this.enumerateResourcesActivity.Selection = null;
    this.enumerateResourcesActivity.SortingAttributes = null;
    this.enumerateResourcesActivity.TotalResultsCount = 0;
    this.enumerateResourcesActivity.XPathFilter = null;
    // initializeEnumerateResource
    this.initializeEnumerateResource.Name = "initializeEnumerateResource";
    this.initializeEnumerateResource.ExecuteCode += new System.EventHandler(this.initializeEnumerateResource_ExecuteCode);
    // readResourceActivity
    this.readResourceActivity.ActorId = new System.Guid("00000000-0000-0000-0000-000000000000");
    this.readResourceActivity.Name = "readResourceActivity";
    this.readResourceActivity.Resource = null;
    this.readResourceActivity.ResourceId = new System.Guid("00000000-0000-0000-0000-000000000000");
    this.readResourceActivity.SelectionAttributes = null;
    // initializeReadResource
    this.initializeReadResource.Name = "initializeReadResource";
    this.initializeReadResource.ExecuteCode += new System.EventHandler(this.initializeReadResource_ExecuteCode);
    // currentRequestActivity
    this.currentRequestActivity.CurrentRequest = null;
    this.currentRequestActivity.Name = "currentRequestActivity";
    // DereferenceActivity
    this.Activities.Add(this.currentRequestActivity);
    this.Activities.Add(this.initializeReadResource);
    this.Activities.Add(this.readResourceActivity);
    this.Activities.Add(this.initializeEnumerateResource);
    this.Activities.Add(this.enumerateResourcesActivity);
    this.Activities.Add(this.initializeUpdateResourceActivity);
    this.Activities.Add(this.updateResourceActivity);
    this.Name = "DereferenceActivity";
    this.CanModifyActivities = false;
    #endregion
    private CodeActivity readStoresNameActivity;
    private Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity updateResourceActivity;
    private CodeActivity initializeEnumerateResource;
    private Microsoft.ResourceManagement.Workflow.Activities.EnumerateResourcesActivity enumerateResourcesActivity;
    private CodeActivity initializeReadResource;
    private Microsoft.ResourceManagement.Workflow.Activities.ReadResourceActivity readResourceActivity;
    private CodeActivity initializeUpdateResourceActivity;
    private Microsoft.ResourceManagement.Workflow.Activities.CurrentRequestActivity currentRequestActivity;

  • Change namespace in generated WebService

    Hello experts,
    i have to provide a webservice with three methods for an external Client.
    So i created three functions in a function group. From the function group i autocreated my webservice with the wizzard. I changed the external/internal mapping properly, activate the webservice and create with soamanager a service and an endpoint and so on...
    When i create a client with the autogenerated WSDL from the WebService, i can call and reach the autogenerated Webservice from this client.
    The problem is: The external client cant reach our webservice. We have solved all problems with firewalls and certificates. The remaining problem is the namespace. The external clients request (we cant change it and have to provide a suitable webservice) with the namespace "urn:extnamespace" cant reach our servicepoint (error "service >extnamespace:Connect< not supported") :
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:extnamespace="urn:extnamespace">
    <SOAP-ENV:Body>
      <extnamespace:Connect>
        <token>123456</token>
      </extnamespace:Connect>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    From our test- client we use successfully this with the namespace "urn:sap-com:document:sap:rfc:functions"::
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:extnamespace="urn:sap-com:document:sap:rfc:functions">
    <SOAP-ENV:Body>
      <extnamespace:Connect>
        <token>123456</token>
      </extnamespace:Connect>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    The wizzard have automaticaly generated the namespace "urn:sap-com:document:sap:rfc:functions". The external Client use another namespace. We have no option to change the external client or request of it. We need to provide a suitable WebService which use the same namespace.
    We found no possibility to say the generation wizzard to use another namespace. Also we found no possibility with soamanager to change it.  When we change the namespace in XSLT-Transformation with STRANS and call the WebService from our test client, we get allways the error "service >extnamespace:Connect< not supported".
    The following links seems to be good on first sight, but dont help us:
    [Changing SOAP Namespace for Web Service;
    [service.sap.com/notes]   sap note 853824
    If there is no way to change the namespace, we have to create the webservice manually. Is there a suitable example for this job available?
    Greetings & thank you very much for your help!
    Edited by: JosipI on Dec 17, 2010 3:16 PM

    We have created a server interface in XI with the wsdl excepted by the external client. Then created a server proxy with this interface  in our sap system. Then we have implemented the generated methodes by calling existing functions. It works fine.
    Thanks a lot!
    Edited by: JosipI on Dec 23, 2010 1:24 PM
    Edited by: JosipI on Dec 23, 2010 1:25 PM

Maybe you are looking for