Modify SOAP Namespace for ABAP WS

Hi Experts,
I need to modify namespace on the web service, I have to provide this WS from an ABAP AS 7.0 SP10 (we don't have XI or PI infrastructure) but the request generated from SAP WSDL is like this:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
   <soap:Body>
      <urn:GetExAvailability>
     </urn:GetExAvailability>
is it possible to change this name space urn="urn:sap-com:document:sap:soap:functions:mc-style" and the prefix "urn" before "GetEx..."?
From Service Definition in the transaction SE80 the SOAP NameSpace is read only, but the customer that have to use this WS, use a request(that they can't modify) like this:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetExAvailability xmlns="http://www.aaaaaa.de/">
    </GetExAvailability>
Any help would be greatly appreciated.
Thanks!
Regards,
Max.

Hi Max,
we are facing a similar problem and would like to change a namespace from "urn:sap-com:document:sap:soap:functions:mc-style" to "urn:sap-com:document:sap:rfc:functions"
Did you find a solution to the problem?
I found the explanations on how the the different namespaces work, but there is no documentation on where this namespace is configured or how to change it.
Any help would be greatly appreciated.
Thanks,
Fabian

Similar Messages

  • How modify SOAP Namespace on ABAP WS

    Hi Experts,
    I need to modify namespace on the web service, I have to provide this WS from an ABAP AS 7.0 SP10 (we don't have XI or PI infrastructure) and the request generated from SAP WSDL is like this:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <soap:Body>
    <urn:GetExAvailability>
    </urn:GetExAvailability>
    is it possible to change the namespace urn="urn:sap-com:document:sap:soap:functions:mc-style" with customer namespace and cancel the prefix "urn" before the WS name "GetExAv..."?
    From Service Definition in the transaction SE80 the SOAP NameSpace is read only, but the customer that have to call this WS, can olnly post a request(they say that can't modify their standards) like this:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GetExAvailability xmlns="http://www.customercompany.de/">
    </GetExAvailability>
    Any help would be greatly appreciated.
    Thanks!
    Regards,
    Max.

    Hi Max,
    we are facing a similar problem and would like to change a namespace from "urn:sap-com:document:sap:soap:functions:mc-style" to "urn:sap-com:document:sap:rfc:functions"
    Did you find a solution to the problem?
    I found the explanations on how the the different namespaces work, but there is no documentation on where this namespace is configured or how to change it.
    Any help would be greatly appreciated.
    Thanks,
    Fabian

  • Changing SOAP Namespace for Web Service

    Hi Experts,
    Got a requirement to modify the SOAP namespace for a BAPI program exposed as a web service on SAP.
    The fieldd denoting the SOAP namespace is accessible via transaction SE80 and navigating under: Package Name>Enterprise Services>Service Definitions> and double clicking on the exposed web service and selecting "Properties".
    The SAP SOAP namespace provided by default is: urn:sap-com:document:sap:rfc:functions
    Is anyone aware of a means to modify this namespace on the web service? Any help would be greatly appreciated. Thanks!
    Regards,
    Lionel

    hi tan,
    Although the SOAP Runtime is generally designed for RFC-type calls, it can also be used to access Web Services that are not implemented in a Web AS. For example, the Google search engine offers some services using SOAP, which can be accessed from the SAP Web AS.
    Naming Conventions
    The SOAP Runtime offers three methods of representing the original ABAP names (everything in upper case and separated by underscores) as data types in XML. Each method is associated with a different XML namespace:
    urn:sap-com:document:sap:rfc:functions – this is the canonical representation, which means that all names in the XML document are represented as they are in ABAP on a 1:1 basis. For repeating groups (such as the rows of a table), an XML element with the tag name item is generated (in writing) and expected (in parsing).
    urn:sap-com:document:sap:soap:functions:uc-style – this naming convention is similar to the first one, with the difference that instead of item, the name of the structure of the table row is generated or expected.
    urn:sap-com:document:sap:soap:functions:mc-style – this third convention also involves conversion of the upper case ABAP names to mixed case (both upper and lower case), according to the following algorithm: All characters except the first one are implicitly in lower case, and the underscore acts as a Shift key to effect an upper case character. RFC_SYSTEM_INFO thus becomes RfcSystemInfo. The addition of an initial underscore makes the first character lower case: RFCSYSTEM_INFO thus becomes rfcSystemInfo. An underscore character is transferred by adding an additional underscore: RFC__SYSTEM_INFO thus becomes Rfc_systemInfo.
    When using the SOAP Runtime caller side, note the following points regarding the naming convention:
    If the called Web Service is implemented in the Web AS 6.20, always use the namespace convention urn:sap-com:document:sap:rfc:functions. The namespace for the SOAP method must also be set according to this convention. To do this, specify the importing parameter nsvalue of the method set_method in the class CSoapDocument.
    Setting the namespace of the naming convention for the SOAP method does NOT automatically mean that the SOAP Runtime also sets the naming convention for serialized SOAP messages. As a developer, you must ensure that the naming conventions are followed. To do this, you can use the methodsset_tag_name_format and set_item_name_format:
    The method set_tag_name_format of the class CSoapDokument can be used to control the upper case or mixed case naming convention for tags that correspond to ABAP data types. To activate the normal ABAP format (upper case), use the value CSoapConstants=>ic_tagfmt_default for the importing parameter format. To switch to the mixed format, use the value CSoapConstants=>ic_tagfmt_mixcase.
    The method set_item_name_format of the class CSoapDokument is used to control the use of the tag name for repeating groups in ABAP data types (table rows). To implement the structure name of the table row, set the value CSoapConstants=>ic_itemfmt_default for the importing parameter format.  To use item as a tag, set the value CSoapConstants=>ic_itemfmt_useitem.
    All names passed to the API must be in a format that is expected by the server side. This affects the importing parameter name of both the methods set_method and add_parameter of the class CSoapDocument. The SOAP Runtime caller side does not perform any conversion of these names. The document class on the calling side does NOT take into account the namespace you have selected here.
    You should only implement the mixed case naming convention where it is necessary. This particularly applies when calling external Web Services, over the structure of which you have no control.
    Sending the SOAP Header in the Call
    The SOAP Framework does not provide general support for the handling of SOAP Header elements.
    However, for calling external Web services, it is sometimes sufficient to be able to send simple Header entries as part of the request. In this special case, you can use the class CSoapDocumentHeader.
    An instance of the class can be filled using the methods set_header_as_string or set_header_as_dataref. Using the method add_header, it can then be added to an instance of the class CSoapDocument, and is then serialized as a part of the document instance when the call is made.
    regards
    karthik
    dont forgrt to reward me points if it helps u

  • Modify SOAP header in ABAP for 3rd party WSDL

    Hi SDN,
    I want to consume a 3rd party WSDL in ABAP. I have created the proxy through SE80, and created the logical port through LPCONFIG. The WSDL I'm using needs me to include some authentication (developer key, and password) in the header portion of the SOAP message. Example below.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://api.channeladvisor.com/webservices/">
       <soapenv:Header>
          <web:APICredentials>
             <web:DeveloperKey>XXX</web:DeveloperKey>
             <web:Password>XXX</web:Password>
          </web:APICredentials>
       </soapenv:Header>
       <soapenv:Body>
          <web:DoesSkuExist>
             <web:accountID>XXX</web:accountID>
             <web:sku></web:sku>
          </web:DoesSkuExist>
       </soapenv:Body>
    </soapenv:Envelope>
    How can I edit the SOAP header to include this information so that this WSDL will work when I call it? There must be a better way than hardcoding the SOAP call and using an HTTP client call.
    I've looked in google and SDN and haven't been able to find a good answer to this problem.
    Thanks guys.

    Have a search in SDN for "if_wsprotocol_ws_header" - there are several postings and examples and if you goto SE24 and look at the documentation attached to IF_WSPROTOCOL you can get to the example referred to in some of the SDN postings.  I also found "real" examples in SAP e.g. function group FITP_SABRE_WS, and I got it to work OK (eventually) after browsing some of these.
    Jonathan

  • JCAPS 5.12 - modifying SOAP header for webservice Invocation

    I am trying to call an external web service from JCAPS 5.1.2 and need to set a token in the SOAP header. I am able to do this in other client implementations, however, the methods to modify the header don't seem to be exposed within JCAPS 5.1.2 or I do not know how to find the methods.
    Has anyone tried this before?

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

  • Can we edit SOAP Header for an Outbound ABAP Proxy message?

    Hi,
    Can we add some information such as dynamic configuration to the SOAP header for the outbound ABAP Proxy from ABAP report in SAP Application System?
    Regards,
    Praveen Gujjeti.

    Hi Praveen, have you found soulution for this? Can you share it with me?
    From here http://help.sap.com/saphelp_nw70/helpdata/EN/d6/49543b1e49bc1fe10000000a114084/content.htm
    The help described that:
    Set logging in the message header. This means that this message is logged even if logging is deactivated explicitly in the configuration. The logging information is part of the message header:
    ¡        <SAP:Logging>1</SAP:Logging>
    Activates logging explicitly.
    ¡        <SAP:Logging>0</SAP:Logging>
    Deactivates logging explicitly.
    So it means that we can edit SOAP header for outbound ABAP proxy. But i haven't find the correct method to do that.

  • Web Dynpro for ABAP iVIew's Namespace parameter

    Hi Gurus,
    I am trying to create Web Dynpro for ABAP iVIew in portal
    There I have confusion while giving namespace
    say I m trying to create iView for standard WD4ABAP Application
    which lies in SICF at below location
    /default_host/sap/bc/webdynpro/sap/CNP_LIGHT_TEST
    when I test it from here (SICF) Its running.
    But when I create a iVIew for it I have given following parameter
    Application Name : CNP_LIGHT_TEST
    and for namespace I hav tried all possible combinations as below
    /default_host/sap/bc/webdynpro/sap/
    /default_host/sap/bc/webdynpro/sap
    /sap/bc/webdynpro/sap/
    /sap/bc/webdynpro/sap
    /sap
    /sap/
    But i m unable to run it
    Its giving Portal Runtime Error
    Plz guide me
    Points will be Awarded for ans !!

    Hi,
    you give the namespace as ''sap'.
    Because that is the root node.
    Suppose if you want to see that go to SICF transaction and observe that.
    sap will be the root node
    and remaining will be down of that.
    Thanks & Regards,
    Lokesh

  • How to create a node with attributes at runtime in webdynpro for ABAP?

    Hi Experts,
             How to create a node with attributes at runtime in webdynpro for ABAP? What classes or interfaces I should use? Please provide some sample code.
    I have checked IF_WD_CONTEXT_NODE_INFO and there is ADD_NEW_CHILD_NODE method. But this is not creating any node. I this this creates only a "node info" object.
    I even check IF_WD_CONTEXT_NODE but i could not find any method that creates a node with attribute.
    Please help!
    Thanks
    Gopal

    Hi
       I am getting the following error while creating a dynamic context node with 2 attributes. Please help me resolve this problem.
    Note
    The following error text was processed in the system PET : Line types of an internal table and a work area not compatible.
    The error occurred on the application server FMSAP995_PET_02 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
    Method: GET_REF_TO_TABLE of program CL_SALV_WD_DATA_TABLE=========CP
    Method: EXECUTE of program CL_SALV_WD_SERVICE_MANAGER====CP
    Method: APPLY_SERVICES of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: REFRESH of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_VIEW~MODIFY of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMPONENT~VIEW_MODIFY of program CL_SALV_WD_A_COMPONENT========CP
    My code is like the following:
    TYPES: BEGIN OF t_type,
                CARRID TYPE sflight-carrid,
                CONNID TYPE sflight-connid,
             END OF t_type.
      Data:  i_struc type table of t_type,
      dyn_node   type ref to if_wd_context_node,
      rootnode_info   type ref to if_wd_context_node_info,
      i_node_att type wdr_context_attr_info_map,
      wa_node_att type line of wdr_context_attr_info_map.
          wa_node_att-name = 'CARRID'.
          wa_node_att-TYPE_NAME = 'SFLIGHT-CARRID'.
          insert wa_node_att into table i_node_att.
          wa_node_att-name = 'CONNID'.
          wa_node_att-TYPE_NAME = 'SFLIGHT-CONNID'.
          insert wa_node_att into table i_node_att.
    clear i_struc. refresh i_struc.
      select carrid connid into corresponding fields of table i_struc from sflight where carrid = 'AA'.
    rootnode_info = wd_context->get_node_info( ).
    rootnode_info->add_new_child_node( name = 'DYNFLIGHT'
                                       attributes = i_node_att
                                       is_multiple = abap_true ).
    dyn_node = wd_context->get_child_node( 'DYNFLIGHT' ).
    dyn_node->bind_table( i_struc ).
    l_ref_interfacecontroller->set_data( dyn_node ).
    I am trying to create a new node. That is
    CONTEXT
    - DYNFLIGHT
    CARRID
    CONNID
    As you see above I am trying to create 'DYNFLIGHT' along with the 2 attributes which are inside this node. The structure of the node that is, no.of attributes may vary based on some condition. Thats why I am trying to create a node dynamically.
    Also I cannot define the structure in the ABAP dictionary because it changes based on condition
    Message was edited by: gopalkrishna baliga

  • Web Dynpro for ABAP iView can't work

    Hi guys,
    I've developed an application in web dynpro for abap, it can be accessed from this url:
    http://pekax110.aaa.com:8001/sap/bc/webdynpro/sap/zsfa_test
    But when I created an Web Dynpro iview, set the parameters as follows:
    System: SAP_CRM
    namespace: sap
    application: ZSFA_TEST
    The WAS setting of the System is:
    Web AS Host Name: pekax110.aaa.com:8001
    Web AS Protocol: http
    I add to iview to an portal role, and assign this role to one user. When I open the iview with the user, the iview reports error:
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test
    Component Name : com.sap.portal.appintegrator.sap.WebDynpro
    Exception in SAP Application Integrator occured: Unable to parse template '<System.Access.WAS.protocol>://<System.Access.WAS.hostname>/sap/bc/webdynpro/<WebDynproNamespace>/<WebDynproApplication>/;sap-ext-sid=<ESID[url_ENCODE]>?sap-wd-configId=<WebDynproConfiguration>&sap-ep-iviewid=<IView.ShortID>&sap-ep-pcdunit=<IView.PCDUnit.ShortID>&sap-client=<System.client>&sap-language=<Request.Language>&sap-accessibility=<User.Accessibility[SAP_BOOL]>&sap-rtl=<LAF.RightToLeft[SAP_BOOL]>&sap-ep-version=<Portal.Version[url_ENCODE]>&<ProducerInfo>&sap-explanation=<User.Explanation[SAP_BOOL]>&<StylesheetIntegration[IF_true PROCESS_RECURSIVE]>&<Authentication>&<DynamicParameter[PROCESS_RECURSIVE]>&<ForwardParameters[QUERYSTRING]>&<ApplicationParameter[PROCESS_RECURSIVE]>'; the problem occured at position 240. Cannot process expression <IView.PCDUnit.ShortID> because Unable to get PCD Unit pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test.
    Exception id: 09:51_22/10/06_0011_19338950
    See the details for the exception ID in the log file
    The default trace files shows:
    #1.5#001125C948FE006A000000590009002E0004205C95299DFF#1161481918454#com.sap.portal.sapapplication#sap.com/irj#com.sap.portal.sapapplication#yangxm#3905##PEKAX119_PGD_19338950#yangxm#a0de4330616a11db83a9001125c948fe#SAPEngine_Application_Thread[impl:3]_8##0#0#Error#1#/System/Server#Java###Content pass of Application Integrator failed.
    Component Name:       'com.sap.portal.appintegrator.sap.WebDynpro',
    Context Name (iView): 'pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test',
    Top Layer:            'WebDynpro/TopLayer',
    Producer ID (FPN):    'null',
    System Alias:         'SAP_CRM',
    [EXCEPTION]
    #1#com.sapportals.portal.appintegrator.ApplicationIntegratorException: Unable to parse template '<System.Access.WAS.protocol>://<System.Access.WAS.hostname>/sap/bc/webdynpro/<WebDynproNamespace>/<WebDynproApplication>/;sap-ext-sid=<ESID[url_ENCODE]>?sap-wd-configId=<WebDynproConfiguration>&sap-ep-iviewid=<IView.ShortID>&sap-ep-pcdunit=<IView.PCDUnit.ShortID>&sap-client=<System.client>&sap-language=<Request.Language>&sap-accessibility=<User.Accessibility[SAP_BOOL]>&sap-rtl=<LAF.RightToLeft[SAP_BOOL]>&sap-ep-version=<Portal.Version[url_ENCODE]>&<ProducerInfo>&sap-explanation=<User.Explanation[SAP_BOOL]>&<StylesheetIntegration[IF_true PROCESS_RECURSIVE]>&<Authentication>&<DynamicParameter[PROCESS_RECURSIVE]>&<ForwardParameters[QUERYSTRING]>&<ApplicationParameter[PROCESS_RECURSIVE]>'; the problem occured at position 240. Cannot process expression <IView.PCDUnit.ShortID> because Unable to get PCD Unit pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test
         at com.sapportals.portal.appintegrator.layer.AbstractIntegrationLayer.processTemplate(AbstractIntegrationLayer.java:453)
         at com.sapportals.portal.appintegrator.layer.URLTemplateProcessLayer.processLayer(URLTemplateProcessLayer.java:33)
         at com.sapportals.portal.appintegrator.LayerProcessor.processActionPass(LayerProcessor.java:159)
         at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doActionPass(AbstractIntegratorComponent.java:67)
         at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doOnPOMReady(AbstractIntegratorComponent.java:53)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.handleEvent(AbstractPortalComponent.java(Compiled Code))
         at com.sapportals.portal.prt.pom.ComponentNode.handleEvent(ComponentNode.java(Compiled Code))
         at com.sapportals.portal.prt.pom.PortalNode.fireEventOnNode(PortalNode.java(Compiled Code))
         at com.sapportals.portal.prt.pom.PortalNode.processEventQueue(PortalNode.java(Compiled Code))
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:652)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    Caused by: com.sapportals.portal.appintegrator.template_processor.TemplateParserException: Unable to parse template '<System.Access.WAS.protocol>://<System.Access.WAS.hostname>/sap/bc/webdynpro/<WebDynproNamespace>/<WebDynproApplication>/;sap-ext-sid=<ESID[url_ENCODE]>?sap-wd-configId=<WebDynproConfiguration>&sap-ep-iviewid=<IView.ShortID>&sap-ep-pcdunit=<IView.PCDUnit.ShortID>&sap-client=<System.client>&sap-language=<Request.Language>&sap-accessibility=<User.Accessibility[SAP_BOOL]>&sap-rtl=<LAF.RightToLeft[SAP_BOOL]>&sap-ep-version=<Portal.Version[url_ENCODE]>&<ProducerInfo>&sap-explanation=<User.Explanation[SAP_BOOL]>&<StylesheetIntegration[IF_true PROCESS_RECURSIVE]>&<Authentication>&<DynamicParameter[PROCESS_RECURSIVE]>&<ForwardParameters[QUERYSTRING]>&<ApplicationParameter[PROCESS_RECURSIVE]>'; the problem occured at position 240. Cannot process expression <IView.PCDUnit.ShortID> because Unable to get PCD Unit pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessor.processWholeTagExpression(TemplateProcessor.java:156)
         at com.sapportals.portal.appintegrator.template_processor.compiler.TemplateCompiler.processWholeTagExpression(TemplateCompiler.java:54)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseSimpleExpression(TemplateParser.java:234)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseComponenedExpression(TemplateParser.java:188)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseComponenedExpressionEx(TemplateParser.java:210)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseComponenedExpression(TemplateParser.java:193)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseComponenedExpressionEx(TemplateParser.java:210)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseComponenedExpression(TemplateParser.java:193)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseTagExpression(TemplateParser.java:170)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parseTemplateExpressionPart(TemplateParser.java:97)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parse(TemplateParser.java:89)
         at com.sapportals.portal.appintegrator.template_processor.TemplateParser.parse(TemplateParser.java:83)
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessor.processImpl(TemplateProcessor.java:406)
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessor.process(TemplateProcessor.java:373)
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessor.process(TemplateProcessor.java:385)
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessorService.processTemplate(TemplateProcessorService.java:53)
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessorService.processTemplate(TemplateProcessorService.java:104)
         at com.sapportals.portal.appintegrator.layer.AbstractIntegrationLayer.processTemplate(AbstractIntegrationLayer.java:439)
         ... 32 more
    Caused by: com.sapportals.portal.appintegrator.template_processor.context.ContextException: Unable to get PCD Unit pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test
         at com.sapportals.portal.appintegrator.template_processor.context.IViewWrapper.getPCDUnit(IViewWrapper.java:156)
         at com.sapportals.portal.appintegrator.template_processor.context.IViewWrapper.access$000(IViewWrapper.java:28)
         at com.sapportals.portal.appintegrator.template_processor.context.IViewWrapper$1.getTerminal(IViewWrapper.java:79)
         at com.sapportals.portal.appintegrator.template_processor.TemplateProcessor.processWholeTagExpression(TemplateProcessor.java:152)
         ... 49 more
    Caused by: com.sapportals.portal.pcd.gl.PermissionControlException: Access denied (Object(s): portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test)
         at com.sapportals.portal.pcd.gl.PcdFilterContext.filterLookup(PcdFilterContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookupLink(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdProxyContext.lookup(PcdProxyContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdGlContext.lookup(PcdGlContext.java(Compiled Code))
         at com.sapportals.portal.pcd.gl.PcdURLContext.lookup(PcdURLContext.java(Compiled Code))
         at javax.naming.InitialContext.lookup(InitialContext.java(Compiled Code))
         at javax.naming.InitialContext.lookup(InitialContext.java(Compiled Code))
         at com.sapportals.portal.appintegrator.template_processor.context.IViewWrapper.getPCDUnit(IViewWrapper.java:148)
         ... 52 more
    #1.5#001125C948FE006A0000005B0009002E0004205C9529A580#1161481918456#com.sap.portal.portal#sap.com/irj#com.sap.portal.portal#yangxm#3905##PEKAX119_PGD_19338950#yangxm#a0de4330616a11db83a9001125c948fe#SAPEngine_Application_Thread[impl:3]_8##0#0#Error#1#/System/Server#Java###Exception ID:09:51_22/10/06_0011_19338950
    [EXCEPTION]
    #1#com.sapportals.portal.prt.component.PortalComponentException: Error in service call of Portal Component
    Component : pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test
    Component class : com.sapportals.portal.sapapplication.SAPApplicationIntegratorComponent
    User : yangxm
         at com.sapportals.portal.prt.core.PortalRequestManager.handlePortalComponentException(PortalRequestManager.java:969)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:343)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    Caused by: com.sapportals.portal.prt.runtime.PortalRuntimeException: Exception in SAP Application Integrator occured: Unable to parse template &\#39;&lt;System.Access.WAS.protocol&gt;://&lt;System.Access.WAS.hostname&gt;/sap/bc/webdynpro/&lt;WebDynproNamespace&gt;/&lt;WebDynproApplication&gt;/;sap-ext-sid=&lt;ESID[url_ENCODE]&gt;?sap-wd-configId=&lt;WebDynproConfiguration&gt;&amp;sap-ep-iviewid=&lt;IView.ShortID&gt;&amp;sap-ep-pcdunit=&lt;IView.PCDUnit.ShortID&gt;&amp;sap-client=&lt;System.client&gt;&amp;sap-language=&lt;Request.Language&gt;&amp;sap-accessibility=&lt;User.Accessibility[SAP_BOOL]&gt;&amp;sap-rtl=&lt;LAF.RightToLeft[SAP_BOOL]&gt;&amp;sap-ep-version=&lt;Portal.Version[url_ENCODE]&gt;&amp;&lt;ProducerInfo&gt;&amp;sap-explanation=&lt;User.Explanation[SAP_BOOL]&gt;&amp;&lt;StylesheetIntegration[IF_true PROCESS_RECURSIVE]&gt;&amp;&lt;Authentication&gt;&amp;&lt;DynamicParameter[PROCESS_RECURSIVE]&gt;&amp;&lt;ForwardParameters[QUERYSTRING]&gt;&amp;&lt;ApplicationParameter[PROCESS_RECURSIVE]&gt;&\#39;; the problem occured at position 240. Cannot process expression &lt;IView.PCDUnit.ShortID&gt; because Unable to get PCD Unit pcd:portal_content/cn.com.dimension.lenovo.xmyang/roles/cn.com.dimension.lenovo.test2cgd/cn.com.dimension.lenovo.zsfa_test
         at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doContentPass(AbstractIntegratorComponent.java:121)
         at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doContent(AbstractIntegratorComponent.java:96)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         ... 31 more
    Can anybody help me out, thank you very much!
    Best Regards,
    Xiaoming Yang

    hi Xiaoming Yang  ,
    i am facing the same error . can you please tell me how you have solved this ??
    regards
    Sujay Kulkarni

  • XSLT Mapping: Namespace for prefix 'ns0' has not been declared

    Hello, I am working on a synchronous SOAP call and having some trouble with the response message. The web service has its own namespace and I am trying to convert this to my custom data type in PI. PI wants the message to be in format of having ns0 prefix and namespace like we have defined (http://foo for example).
    I have an XSLT mapping (see below) which works fine with my test response payload (pulled from SXMB_MONI source) on this online XSLT test site:
    http://www.freeformatter.com/xsl-transformer.html
    However when I import this archive to PI and test with operation mapping it always says "Namespace for prefix 'ns0' has not been declared."
    This is very confusing because when I test it online, I see both prefix and namespace declaration perfectly. Is there a way to see the results in the PI test tool? After this XSLT java error it doesn't give me the output even in Trace Level All mode.
    Please advise on this issue or if you know an easier way (such as altering my datatype/message type to match the inbound SOAP message). I tried working with the 3rd party WSDL but the response message types show a different root level node than what PI is receiving so I gave up to make my own matching datatype. I just have to solve this last inbound namespace issue and should be finished.
    FYI I have refreshed all PI caches and activated all objects.
    Thanks for your ideas!
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ns0="http://foo"
      <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
      <xsl:template match="@* | node()">
        <xsl:copy>
          <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
      </xsl:template>
      <xsl:template match="/*">
        <xsl:element name="ns0:{local-name()}">
          <xsl:apply-templates select="@* | node()" />
        </xsl:element>
      </xsl:template>
      <xsl:template match="/">
        <xsl:element name="{local-name()}">
          <xsl:apply-templates select="@* | node()" />
        </xsl:element>
      </xsl:template>
    </xsl:stylesheet>

    Some additional info, here is an example payload which goes through the XSLT mapping perfectly, but in PI I get the error about missing ns0 declaration.
    XML input:
    <bar xmlns='http://irrelevantnamespace'
    xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'
    xmlns:xsd='http://www.w3.org/2001/XMLSchema'
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
    <foo/>
    </bar>
    XSLT mapped output using test tool and XSL above:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:bar xmlns:ns0="http://foo">
       <foo />
    </ns0:bar>

  • XSLT Problem with soap namespace

    Hi there,
    I have a problem transforming an XML doc with soap elements, using XSLT (Xalan).
    Here's the input:
    <?xml version = "1.0" encoding = "ISO-8859-1"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.ean.nl">
      <testthis>123456</testthis>
    </soap:Envelope>and here's the XSL:
    <?xml version="1.0"?>
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="soap:Envelope">
    <Orders>
         <H01>
              <xsl:value-of select="testthis"/>
         </H01>
    </Orders>
    </xsl:template>
    </xsl:transform>I expect to get something like:
    <?xml version="1.0" encoding="UTF-8"?>
    <Orders>
    <H01>123456<H01>
    <Orders>But instead I get:
    <?xml version="1.0" encoding="UTF-8"?>
    <Orders>
    <H01/>
    </Orders>I've tried a lot of things and I'm probably overseeing something stupid, but I'm stuck.
    It seems as if anything without soap: namespace cannot be processed by my XSL (when I add it in the input XML and XSL it works).
    Any help would be greatly appreciated.
    Greetings,
    Erik

    Yes, I found it!
    The following XSL for the same XML doc works!
    <?xml version="1.0"?>
    <xsl:transform xmlns:ean="http://www.ean.nl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="soap:Envelope">
    <Orders>
         <H01>
              <xsl:value-of select="ean:testthis"/>
         </H01>
    </Orders>
    </xsl:template>
    </xsl:transform>Thanks, you pointed me in the right direction :-)
    Erik

  • How to modify a namespace

    hi to all!
    We have a namespace in our system, and my manager wants me to research on how to update a namespace, as what I've researched, I need to go to se03 then change namespace, I did that and I transported it last friday,,, however up to now, It did not have any changes....
    My question is, how to update our existing namespace?
    Thanks!
    Edited by: christopher mancuyas on Sep 22, 2008 12:00 PM

    For modifying a namespace you need a key . This key is in the hands of the company that creates the application.
    There are two keys one for creating the namespace and other for modyfiing the code. You need to insert the second code and activate in the system.
    http://help.sap.com:80/saphelp_nw04s/helpdata/en/bd/ddbe08ac5c11d2850e0000e8a57770/frameset.htm
    Often the namespace is created by SAP others non. It's difficult change code from namespaces  of other companies

  • Tools to upload data into SRM 7.0 with webdynpro for ABAP

    Hi,
    Webdynpro for abap is used in SRM70.
    I need to load data in SRM70 (product category...).
    ECATT is not working with web dynpro for abap.
    What other tools can i use to load data in SRM70 ? LSMW ?
    I would like to avoid to create a Z program to load data into SRM70...
    Thanks,
    Kind regards,
    Yann

    Hello Yann.
    welcome . we read your wonderful threads and they are useful to coomunity forever.
    I am not aware much.
    Product category is a permanent data right . i think we may not frequently change the data right.
    Does your business want very  frequent update on product category?
    I believe if we make frequent changes/modify  of data we may use LSMW .
    i think your zprogram is a best method to upload the product category.
    As you aware we can not change the product category as per standard.For eg. If i create a local product category /hierarchy .Even i can not rename them.
    category/hierarchy creation are one time activity in SRM.
    please correct me.
    regards
    Muthu

  • How to integrate WebDynpro for ABAP application with SAPEnterprisePortal7.0

    Hi WebDynpro for ABAP Experts,
    We developed an WebDynpro for ABAP application on R/3, and now we are planning to show this as an iview on SAP Portal EP7.0 (SAP j2EE Engine--Java stack). is it possible to integrate this application with portal?
    If so can you proviode me the way how can we achieve this?
    ADV Thanks
    Regards
    Phani

    Hi Alex,
    Thanks for your response.
    I already created the system object R/3 Backend.
    Actually some WebDynpro java applications/iViews are currently running on Portal. and the developers developed these in NWDS and deployed the .sca files on the Portal server and we created Webdynpro for java iViews.
    but now the requirement is creation of webDynpro for ABAP views.
    The developers developed  WebDynpro for ABAP on the R/3 system. So what are the parameter values we need to give at teh time of creation of  WebDynpro for ABAP iview like the Namespace, Application name etc which are mandatory values and how the Portal server detects the application, this means no need to deploy the application on the Portal server?
    Shall we need to maintain any JCo Destinations or not?
    Pl share your ideas.
    ADV Thanks
    Regards
    Phani

  • WebDynpro for ABAP iview

    Hi All,
    In my client portal there is no iview template of type "SAP WebDynpro iview" .
    I created one from the list of PAR templates of type com.sap.portal.appintegrator.sap.WebDynpro
    and embedded it in a webdynpro proxy page
    i have given the following parameters.
    Application
    Application Namespace
    configuration name
    platform 'webdynpro for ABAP'
    WebDynpro client 'plain HTML'
    system
    But at runtime when i login with the end user it gives a blank page.
    Please advise.
    Thanks,
    VV

    What happens when you try to test the same application you put in the iView from SE80.  Sounds like the developer of the application might have forgotten to embed their default view in the window.  A very common mistake on older support packge levels before the workbench started embedding the default view automatically.

Maybe you are looking for

  • Cflocation not working when code is part of a query

    I've got a template page that runs a query based on the page name in the url. The query gets all the code for that page from the database. No problems there. The data is mostly html and the page displays wonderfully. The trouble I'm having is that an

  • My desktop apps are signed out and I can't sync my preferences

    Hi, I tried to log out and in from adobe manager and fron adobe cloud website but indesign and illustrator are still in a "not signed in" status and won't sync my preferences. Any ideas? Thanks a lot

  • Screen Exit for Header ME51N

    Hi experts, there is some screen-exit for HEADER of ME51N?? I've found only MEREQ001, but it has a screen exit only for item requisition... Thanks. Alexandere

  • Copy from iPod to new PC

    I can't seem to figure out how to copy my music library from my iPod to my new PC. I have a lot of music from CD that I don't want to reload and would just like to move to my new PC. Dell   Windows XP Pro  

  • Slideshow mistakenly believes computer is not authroized for Itunes

    When I opt for doing a slideshow and request to use a playlist from my Itunes application, iPhoto claims my computer is not authroized to play those tunes. I have not problem using Itunes indepently (it knows the computer is authroized). Can anyone s