Folio : Document on Folio services for creating folio etc.,

Hi,
I need help to customize the existing folio pages, also looking for a document on Folio services.
Kindly point me to document on above area.
Thanks in advance
Siva

Hi there
Unless you are desiring to create web based output from Frame files, I'd say you likely won't gain anything by moving to RoboHelp. If you did, I'd say investigate the Tech Comms Suite where you get Frame, RoboHelp, Photoshop, Captivate and Acrobat. Then you would continue to author in Frame and simply use RoboHelp as a conduit to web based outputs or CHM files.
Cheers... Rick
Helpful and Handy Links
RoboHelp Wish Form/Bug Reporting Form
Begin learning RoboHelp HTML 7, 8 or 9 within the day!
Adobe Certified RoboHelp HTML Training
SorcerStone Blog
RoboHelp eBooks

Similar Messages

  • Shell script for creating,altering, etc ., a database

    hi there,
    Please help me to find shell scripts for creating,altering, etc a database..
    Thanks & Regards,
    Balu.

    Thanks to all , but dbca generates XML files :
    <DatabaseTemplate name="MYDB" description="" version="10.2.0.0.0">
       <CommonAttributes>
          <option name="ISEARCH" value="false"/>
          <option name="OMS" value="false"/>
          <option name="JSERVER" value="true"/>
          <option name="SPATIAL" value="true"/>
          <option name="ODM" value="true">
             <tablespace id="SYSAUX"/>
          </option>
          <option name="IMEDIA" value="true"/>
          <option name="XDB_PROTOCOLS" value="true">
             <tablespace id="SYSAUX"/>
    ..................I need a file.sql script to launch in sqlplus. Something like the following :
    CREATE DATABASE MYDB
    USER SYS IDENTIFIED BY ***
    USER SYSTEM IDENTIFIED BY ***
    LOGFILE GROUP 1 ('/home/oracle/oracle/instances/oradata/MYDB/redo1/redo01.log') SIZE 15M,
    GROUP 2 ('/home/oracle/oracle/instances/oradata/MYDB/redo2/redo02.log') SIZE 15M,
    GROUP 3 ('/home/oracle/oracle/instances/oradata/MYDB/redo3/redo03.log') SIZE 15M
    ......................

  • Web Service for "Creating Sales Order" by using BAPI

    Hello All,
    I am trying to create a WS for "Creating Sales Order". The corresponding BAPI that I am using for this purpose is BAPI_SALESORDER_CREATEFROMDAT1. I am able to create the Web Service and run the WSDL on WS Navigator.
    But there is a problem whil executing the Web Service. In the interface of WS, we can only enter item level details of "Order Partner". So when I enter the details and click on Execute, it returns me an error message "Please enter Ship to Party and Sold to Party". I have already given these details.
    Does any one have any idea of what is going wrong?
    Regards,
    Abhishek

    As you suggested i have passed the suggested parameters in item level..But this time i was not ablet to create the SO also..earlier i am able to creat SO but not line item, But now ia m not able to creat salesdocuement also.
    Return talbe filled with belwo messages.
    S V4                   233 SALES_HEADER_IN has been processed successfully   
    E V1                   320 No item category available (Table T184 ZKB  TEXT )
    E V4                   248 Error in SALES_ITEM_IN 000000                     
    W V1                   555 The sales document is not yet complete: Edit data 
    E V4                   219 Sales document  was not changed

  • Content server for Document attachment through "services for object" Icon.

    Guys,
    I have typical problem in installation of Content server for storing external documents.
    We all know that we can attach the document in SAP using the icon “SERVICES FOR OBJECT”. By this we can attach the document to the specific object we want.
    -Since my client wants only document attachment method not to completely implement SAP DMS, I proposed this method of attaching documents through services for object method.
    -If documents are stored though services for object ,The attached document will directly get stored in sap database(correct me if I am wrong) while  in  DMS it ask you to select the storage location while u check in for any document
    -By storing the doc thru "services for object " For long run when we store the documents in sap database our system will drastically get slow down.
    -In this regard I have a plan to incorporate external storage server.
    -Now I should know that how I should customize content server configuration so that the attachment through services for object will store into this content server I need to know how to define Client, Content Category, Content Repository, Document Area, Physical Machine, IP Address, Port. (OACT & OAC0)
    I appreciate for immediate solution and <u><b>Points will be rewarded for sure.</b></u>
    Regards,
    Murali.S

    Hi Murali,
    Don't Worry, its possible,
    All attachments can be stored in SAP Content Server also, but through archiving process.
    Set up a database storage system.
    Preparation
    Make sure that the HTTP plugin is active.
    Transaction <b>SMICM,</b> "Display Services" function key (shift F1)). The list of services must contain a port other than 0 for HTTP.If not, you must adjust the relevant profile parameter.
    <u>Typical entry:</u>
    icm/server_port_0         PROT=HTTP, PORT=1080, TIMEOUT=900
    <b>Make sure that the /sap/bc/contentserver service is active.</b>
    If no user is defined, then use transaction SU01 to create a new user. Use the "System" user type.Assign
    the SAP_ALL and SAP_NEW profiles to the user. (Eg: HRUSER/PLMUSER/PPUSER etc)
    Transaction <b>SICF,</b> select: default_host - sap - bc -contentserver. Select the function to display/change the service. Make sure that a user is defined.
    Using the relevant data from the newly created user, maintain the anonymous logon data for the
    /default_host/sap/bc/ service and save & activate the changes in transaction <b>SICF</b>.  Double click on content server and give the user name which has been created (HRUSER/PLMUSER/PPUSER/MMUSER etc)
    Check the system PSE.
    Start transaction <b>STRUST</b>. Expand the system PSE. The system PSE must be "green" for each application
    server.
    Determine a suitable exchange directory.
    The exchange directory must be accessible from each application server. If all application servers are running on the same platform (for example, Windows), one network directory that is accessible on all application server (for example,
    server\share) is sufficient. You can generally use the global directory
    (profile parameter DIR_GLOBAL).You can use the RSPARAM report to determine the profile parameters.
    Setting up the storage
    Create a table for storing the data. Using transaction <b>SE11</b>, create a copy of the SDOKCONT1
    table. If you want to create the repository database, you can name the table ZCONT_DB, for example. Save the
    table as a local object. Activate the table.
    Create a repository.
    Use transaction <b>OAC0</b> to create a new repository.
    Use the following parameters:
    Repository Max. two characters, for example,” Z1”
    DocArea: ARCHLINK
    Storage type: R/3 database
    Storage subtype: normal
    Version no. : 0046 
    Contents table <table name> for example: ZCONT_DB
    Exchange directory <directory name> for example:
    server\share\
    Make sure that the exchange list ends with a \ (or /on Unix).If you are using a variety of platforms, you must use transaction FILE to define a suitable logical file name and use this name. Save the settings.
    1. Maintain view table <b>TOAAR_C</b>, via SM31
       Cross client table displayed as information, forget it
    2. In field 'StSytm' you must entered 'Z1' as your system need, or anything that you need but you must configure HR Archive link too.
    3. In field 'Arch.path' (direct above Spoolpath), entered path in your system, this real path in your operating system. May be you should confirm to your Basis consultant where exactly you could store picture files. So if you enter '/', your file exists at root directory at your UNIX system.
    4. Choose 'File store' radio button
    5. Save.
    First
    <b>1. You have to create a number range for SAP ArchiveLink.
        IMG: Basis Components-> Basis Services -> SAP ArchiveLink -> Basic Settings-> Maintain number ranges   
        (Trxn <b>OANR).</b> Create number range 01 from 0000000001 to 9999999999 without the external number flag. 
    2. Document type <b>HRICOLFOTO</b> must exist with document class JPG.
        IMG: Basis Components->Basis Services->SAP ArchiveLink->System Settings->Maintain document types
        (Table<b> TOAVE, Trxn OAC2).</b>
    3. Document type <b>HRICOLFOTO</b> must be linked to object type PREL and Infotype PA0002.
        IMG: Personnel Management->Personnel Administration->Tools->Optical archiving->Set up Optical Archiving
        in HR.  (View V_T585O, no Trxn). In the first two columns there are minuses, the third (Date) has
       a plus - don't put a flag in the check box.
    4. Check which content repository (Archive) is linked to document type HRICOLFOTO and object type  
        PREL. IMG: <b>Basis Components->Basis Services->SAP ArchiveLink->Basic Settings->Maintain Links (Table 
       TOAOM_C, Trxn).</b></b>
    Test
    • Test the repository.
    Use transaction SE38 to start the RSCMSTH0 report. Specify your repository (i.e. Z1) and start the test.
    The report must run without errors. If no problems occurred, you can use the new repository with Archive Link after you carry out the Archive Link Customizing. If problems do occur, check whether one of the related
    notes helps.
    For More Details :
    http://service.sap.com/archivelink.
    <u><b>
    NOTE:- Screen Shots are missing, i was not able to paste here, One more thing is we did this for uploading a PHOTOS into Content Server, Similarly you have to create a REPOSITORY and Z-TABLE to bring all the Attachments from all the selected Objects and then route them to the CONTENT REPOSITORY.</b></u>
    Your Senior ABAP guy would help you in this, if not i may try to help you more by monday.
    Regards
    Rehman
    <b>Reward Your Points if Satisfied.</b>

  • Service for creating customer master - company code data....

    Hi
    I would like to know if there is a service to create customer master company code data?
    I have identified 2 services one for general data (CustomerERPCreateRequestConfirmation_In) and sales area data (SalesArrangementERPCreateRequestConfirmation_In).
    Regards
    Srinivas Dusi

    Here is the answer: Yes it is possible. Download the file, using option - File Download. File should include all key attributes & also attributes that needs to be updated. (Key here is to have appropriate assignment ID. )
    Use the same file for File Upload (modify attributes like Sort Key as required).

  • Enterprise services for create employee

    hi all,
    I need to know if there are any Enterprise Services to create an Employee?
    thanks!

    Hi Pablo,
    You can find Enterprise Services to manage Employees in the "Employee Administration" business process from ERP.
    [http://esworkplace.sap.com/socoview(bD1lbiZjPTAwMSZkPW1pbg==)/render.asp?packageid=DE0426DD9B0249F19515001A64D3F462&id=0F76CD395C2E4CACA3CC9368E3E9CF52]
    I Could find the service "EmployeePersonalAddressCreateRequestConfirmation_In".
    [http://esworkplace.sap.com/socoview(bD1lbiZjPTAwMSZkPW1pbg==)/render.asp?packageid=DE0426DD9B0249F19515001A64D3F462&id=9C2B7FD0AF4D11DA2B24000F20DAC9EF]
    But I doesn't create the employee itself... It adds an address to a Employee.
    Regards,
    Cezar

  • HT4059 Has anyone found a reputable service for copy editing, etc?

    Has anyone found a reputable service for copy editing, cover art and formatting for Word to iBook format?

    Apple2Drew wrote:
    Playlists were originally created to make CDS easier, so that's why I have hundreds
    No it wasn't.
    Playlists were created to make a list of songs.
    Itunes does not make album recognition easy,
    How is selecting an album not easy? And as you have noted, creating hundreds of palylists and managing them is NOT easy.
    As many of you know, syncing playlists is a nightmare when you have many to sort through
    Which is one reason to not create hundreds of playlists.
    When I get a new cd, all I want is to drag and copy it to my ipod and iphone,
    Why can't you select the album and drag it to the iPod or add it to one of a few playlists and sync?
    should the artist start with an x or z.
    Why not go the playlists and type x or z to go right there?

  • KM Repository Service for creating a folder structure

    Hi All,
       We have a requirement in KM. Whenever a folder is created inside a folder (say '/documents/testFolder') ... .. a couple of subFolders need to be created inside this new folder.
    For example, if the new folder's name being created is <i>parentFolder1</i> then, the following structure shud be created inside this folder.
    parentFolder1
      |--> subFolder1
                 |--> subFolder11
                 |--> subFolder12
      |--> subFolder2
                 |--> subFolder21
    I tried to implement a KM repository service::
    My Rep Service code::
    package com.test;
    import java.util.Collection;
    import java.util.Iterator;
    import com.sap.tc.logging.Location;
    import com.sapportals.config.fwk.CannotAccessConfigException;
    import com.sapportals.config.fwk.Configuration;
    import com.sapportals.config.fwk.IConfigClientContext;
    import com.sapportals.config.fwk.IConfigManager;
    import com.sapportals.config.fwk.IConfigPlugin;
    import com.sapportals.config.fwk.IMutableConfigurable;
    import com.sapportals.config.fwk.InitialConfigException;
    import com.sapportals.portal.security.usermanagement.UserManagementException;
    import com.sapportals.wcm.WcmException;
    import com.sapportals.wcm.crt.component.IReconfigurable;
    import com.sapportals.wcm.crt.component.StartupException;
    import com.sapportals.wcm.crt.configuration.ConfigurationException;
    import com.sapportals.wcm.crt.configuration.IConfiguration;
    import com.sapportals.wcm.repository.AccessDeniedException;
    import com.sapportals.wcm.repository.ICollection;
    import com.sapportals.wcm.repository.IResource;
    import com.sapportals.wcm.repository.NotSupportedException;
    import com.sapportals.wcm.repository.Property;
    import com.sapportals.wcm.repository.ResourceException;
    import com.sapportals.wcm.repository.manager.IRepositoryManager;
    import com.sapportals.wcm.repository.manager.IResourceEvent;
    import com.sapportals.wcm.repository.manager.IResourceEventReceiver;
    import com.sapportals.wcm.repository.manager.ResourceEvent;
    import com.sapportals.wcm.repository.service.AbstractRepositoryService;
    import com.sapportals.wcm.repository.service.ServiceNotAvailableException;
    import com.sapportals.wcm.util.config.ConfigCrutch;
    import com.sapportals.wcm.util.events.IEvent;
    // implements IMyNewRepositoryService interface
      Note: IReconfigurable and IResourceEventReceiver interfaces are optional
    public class MytestRepositoryService extends AbstractRepositoryService implements IReconfigurable, IResourceEventReceiver {
      private static final String TYPE = "com.test.MytestRepositoryService";
      private Collection repositoryManagers;
      private static final Location log = Location.getLocation(MytestRepositoryService.class);
      //variables
           private static final String PLUGIN_FOLDERCREATION_SERVICE = "/cm/repository_services";
           private static final String CONFIGCLASS_FOLDERCREATION_SERVICE = "com.test.MytestRepositoryService";
           private static final String readPlugins[] = { PLUGIN_FOLDERCREATION_SERVICE };
    public static final String PROP_MYFOLDER = "myFolder";
      public MytestRepositoryService() {
        super();
        // Do not add code here. Add it to startUpImpl() instead
      public String getServiceType() {
        return MytestRepositoryService.TYPE;
      protected void startUpImpl(Collection repositoryManagers) throws ConfigurationException, StartupException {
        // implement this method as follows:
        // - Verify configuration data
        // - Get references to other needed (global) services
        // - Check whether other repository services (this service depends on) are also assigned to the repository managers
        // - Usually the service registers itself for certain events at all repository managers
        try  {
        catch (Exception e) {
          throw new StartupException(e.getMessage(), e);
         this.repositoryManagers = repositoryManagers;
         Iterator it = repositoryManagers.iterator();
         while (it.hasNext()){
           try {
              addRepositoryAssignment((IRepositoryManager) it.next());
           } catch (ServiceNotAvailableException e) {
              e.printStackTrace();
      protected void shutDownImpl() {
         Iterator it = repositoryManagers.iterator();
         while (it.hasNext()){
           try {
              removeRepositoryAssignment((IRepositoryManager) it.next());
           } catch (WcmException e) {
              e.printStackTrace();
      protected void addRepositoryAssignment(IRepositoryManager mgr) throws ServiceNotAvailableException {
        // Implement this method: Usually the service registers itself for certain events at the repository manager.
         try {
    //       mgr.getEventBroker().register(this, ResourceEvent.ALL_TEMPLATE);
           mgr.getEventBroker().register(this, new ResourceEvent(ResourceEvent.CREATE_COLLECTION, null));
         } catch (WcmException e) {
           e.printStackTrace();
      protected void removeRepositoryAssignment(IRepositoryManager mgr) throws WcmException {
        // Implement this method: Usually the service must unregister itself as an event handler.
    //     mgr.getEventBroker().unregister(this, ResourceEvent.ALL_TEMPLATE);
         mgr.getEventBroker().unregister(this, new ResourceEvent(ResourceEvent.CREATE_COLLECTION, null));
      public void reconfigure(IConfiguration config) throws ConfigurationException {
        this.stateHandler.preReconfigure();
        // check the new configuration data
        try {
        catch (ConfigurationException ex) {
          this.stateHandler.postReconfigure(ex);
          throw ex;
        this.config = config;
        this.stateHandler.postReconfigure();
      public void received(IEvent event) {
         IResourceEvent myEvent = (IResourceEvent) event;
         IResource resource = (IResource) myEvent.getParameter();
         String repositoryPath = "";
         String parentPath = "";
                //get the configuration...
                try {
                       IConfigClientContext context = IConfigClientContext.createContext(ConfigCrutch.getConfigServiceUser());
                     IConfigManager cfg = Configuration.getInstance().getConfigManager(context);
                     IConfigPlugin configPlugin = cfg.getConfigPlugin(PLUGIN_FOLDERCREATION_SERVICE);
                     if (configPlugin != null) {
                          IMutableConfigurable[] configurables = configPlugin.getConfigurables(CONFIGCLASS_FOLDERCREATION_SERVICE, false);
                          for (int i = 0; i < configurables.length; i++) {
                               IMutableConfigurable configurable = configurables<i>;
                               if (configurable.getConfigClass().getName().equals(CONFIGCLASS_FOLDERCREATION_SERVICE)) {
                                    // now get the attribute value...
                                    repositoryPath = configurable.getPropertyValue(PROP_MYFOLDER);  //// "documents/parentFolder1"
              } catch (InitialConfigException e2) {
                   e2.printStackTrace();
              } catch (CannotAccessConfigException e2) {
                   e2.printStackTrace();
              } catch (UserManagementException e2) {
                   e2.printStackTrace();
              try {
                   parentPath = resource.getParentCollection().getRID().toString();
              } catch (AccessDeniedException e1) {
                   e1.printStackTrace();
              } catch (ResourceException e1) {
                   e1.printStackTrace();
              if(repositoryPath.equals(parentPath))
                   //write my code here
                   if (resource != null && (resource.isCollection()) )
                        ICollection parentFolder = (ICollection) resource;
                        try {
                             <b>parentFolder.createCollection("subFolder1",null);</b>
                        } catch (NotSupportedException e) {
                             e.printStackTrace();
                        } catch (AccessDeniedException e) {
                             e.printStackTrace();
                        } catch (ResourceException e) {
                             e.printStackTrace();
    <b>...MytestRepositoryService.co.xml:</b>
    - <Configurable configclass="com.test.MytestRepositoryService">
      <property name="name" value="com.test.MytestRepositoryService" />
      <property name="active" value="true" />
    <i>  <property name="myFolder" value="/documents/parentFolder1" /></i>
      <property name="description" />
      </Configurable>
    <b>...MytestRepositoryService.cc.xml:</b>
    - <ConfigClass name="com.test.MytestRepositoryService" extends="RepositoryService">
      <attribute name="class" type="class" constant="com.test.MytestRepositoryService" />
      </ConfigClass>
    Have i done it right?? Where am i going wrong??? Plz advice.
    I need to 'myFolder' as a configurable property in KM's <i>Content Management --> Repository Services</i> section.
    Thanks!
    Regards,
    SK.

    Hi,
    I haven't check your code but you know that you can archive the same without writing a portal componente by using the template feature. It is a simple customizing. See http://help.sap.com/saphelp_nw70/helpdata/en/55/83bd402b8d8031e10000000a1550b0/frameset.htm
    Best Regards
    Frank

  • No entry for / created in /etc/fstab during Arch 0.6 install

    The other day I installed Arch here on one of the machines at work that will eventually be replacing the current intranet webserver.  I used an Arch 0.6 CD I had laying around, and everything went fine.  However, during the post-install boot I kept getting errors relating to remounting / read-write and not being able to clear out the temporary directories and such, and the system would hang in a few places while the init scripts were running.  And since / was never getting remounted read-write properly, I was booting into a read-only system.  I don't have the exact errors and places it was hanging in front of me, but I remember one of them was something about not finding / in /etc/fstab or /etc/mtab.  I checked /etc/fstab, and sure enough, the entry for / was missing.  So I rebooted and had grub start / read-write from the get-go and added the entry for / in /etc/fstab and that did the trick.
    So, has anyone else run into anything like this, or am I just the victim of a strange fluke?  The system is a Dell Precision 210 workstation, with dual P3 450MHz CPUs and 256MB RAM sitting in an i440BX motherboard (not sure of the manufacturer/model off hand.)  The system drive is a Quantum Atlas IV 9 WLS (9GB) SCSI drive running on an Adaptec 2940U2 OEM PCI card.

    it could be a fluke or it could be one small minor missed step in the installe that caused this.

  • Services for document

    Hi all,
    we have to work with documents and i'm trying to use the services in the document object like:
    ECC_DocumentCrtRC -> for create documents
    ECC_DOCUMENTIDQR -> for read documents
    My problem is that i don't know what parameters I have to use, and I haven't found any documentation related with that.
    Have someone used these services to work with documents?
    Any help will be fantastic.
    Thanks in advance and best regards,
    Eduardo

    Hi Joe,
    SharePoint 2013 includes document management features that you can use to control the life cycle of documents in your organization — how they are created, reviewed, and published, and how they are ultimately disposed of or retained. There are some features
    needed to be enabled for some requirements(ex. Document Set, versioning, content approval etc.). There is an article which will guide you in planning the document management features of your solution that is based on SharePoint 2013. Please take a look at:
    http://technet.microsoft.com/en-us/library/cc263266(v=office.15).aspx
    For uploading a document into SharePoint, you need to create a web application and create a site collection for the web application in Central Administration. After that, open the  top site of the site collection, you can upload documents into the existing
    library "Documents", or can create a new document library, then upload the documents into the new library.
    Best Regards,
    Wendy
    Wendy Li
    TechNet Community Support

  • Standard web services for Goods receipt and purchase order

    Hi,
    Can you please tell me the std web services for creating the Purchase order and Goods receipt?
    Is there a link where i can get the information on this implementation?
    Thanks
    Srini

    Hi,
    Please reffer ES workplace.
    [Order to Cash|http://esworkplace.sap.com/socoview(bD1lbiZjPTAwMSZkPW1pbg==)/render.asp?packageid=DE0426DD9B0249F19515001A64D3F462&id=9B0DDD8CCC484FA79EBBBA7F78B57DA7]
    Thanks
    Farooq

  • Services for object

    Hi,
    I am uploading the Documents in the Services for object.( tcode ME22N.).
    When the PO is released , then also i am able to change or delete the attachment.
    I dont want to delete or edit the document after the PO is released.
    How to contol this?. .
    Regards,
    Chetan

    Hi Chetan,
                     That is not the correct way of generatin the document because you doc needs to go to the SAP server and it should not be accessed by any one it should be in the read only format.
    please.
    and one more technical reason is that it takes a lot of space in the server if you upload it directly by the above told path, please go as per the process.
    In DMS you have to define the Document Type for the Document that will be uploaded and there relevent document where your uploaded document will be used. like justification notes will be used by the PR and PO.
    Please follow this path.
    Regards,
    Yawar khan
    Edited by: 1234_abcd on May 23, 2011 12:57 PM

  • Additional Services for Office 365's underlying Azure

    Hello,
    is it possible to use the Azure subscription i can access through my Office 365 subscription like any other Azure subscription?
    Can I buy additional Services like Azure Media Services for Live Streaming etc, or is it solely for AD Management of my Office 365 users or are there restrictions
    Thanks in advance

    Hi,
    >>is it possible to use the Azure subscription i can access through my Office 365 subscription like any other Azure subscription?
    If you want to sign in azure subscription with Office 365 account, please go through with this article:
    http://www.edutech.me.uk/active-directory/microsoft-azure-how-subscription-administrators-directory-administrators-differ/.
    >>Can I buy additional Services like Azure Media Services for Live Streaming etc,
    please try to contact with your server administrator to enable the Media Services,
    this article
    shows us about the detail steps to add Azure scheduler service to azure portal, hope it helps, this issue is more related to azure account, you could also get further help from azure support:
    http://www.windowsazure.com/en-us/support/contact/
    If I misunderstand, please feel free to let me know.
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Services for Object - Create external document (url) 132 characters limit

    Hello,
    I have this requirement:
    Maintenance people would like to relate a document on our portal on a work order to be able to print it with the work order.
    My suggestion was to use Services for Object in the Order -> Create external document (url).
    But the adress field cannot contain more than 132 characters.
    I have URL longer than 132 chars:
    eg: http://server.domain:port/irj/go/km/docs/documents/AAI/Gestion%20documentaire/Public/Entretien/Instructions%20de%20travail/EU-IT-01-02.pdf
    What do you suggest me?
    Thanks,
    François

    Thank you Pete but we are release 700 and this note applies to release 620 and older. I will try to find another note or another way.
    In the meantime we use the short-ID of SAP Portal Documents which are long to retrieve but always under 132 char.
    François

  • How do I create a "document-centric" Web Service?

    By document-centric I'm talking about receiving a SOAP message on the server-side, where the initial parsing and security processing (this aspect is very important) is performed but then allowing the developer to access the delivered "payload", i.e. the XML, and perform whatever mapping/processing that is required without automatically mapping to the "standard" auto-generated Java objects.
    It is important that the client receives the "full" complex WSDL and can therefore generate their proxy classes with whatever tool (or language) that is appropriate.
    On the server side we do not want to create hundreds (if not thousands) of Java Bean clases as we already have the legacy code to map XML to Java. The idea is that JAX-RPC only instantiates the SOAPElements that represent the "raw" message, or, if possible, doesn't instantiate any objects whatsoever.
    I've spent many days now trying to find a single well-worked example for this type of Web Service without success - many, many references of the style "..and you can then create a document style web service.." but without the all important "how".
    From what I've read a custom type-mapping and/or serializer/deserializer could be the answer but again no good, solid examples are forthcoming.
    Another alternative seems to be to create the server side stub-classes using a "dummy" WSDL with the elements set to "anyType" but then distribute the "genuine" WSDL to the clients - we've got a simple example of the kind working but I don't like the idea of "tricking" the system in this way.
    I'm working with WASD 5.1, which in theory conforms with JAX-RPC so any ideas offered here should also apply in that environment.
    Has ANYONE successfully created a service of this type?
    Any help with this issue would be very much appreciated and rewarded (with Duke Dollars of course).
    Chris.

    Chris,
    I too noticed that most vendors take the RPC centric approach. Its because most of the industry examples of how WSs were used were simple enough to implement using RPC and anything more (document literal) would add to the complexity of implementation. This is something that is feared by many developers, especialy the .Net crowd who seem to want everything done through a wizard menu interface and don't care about other WS implementations at all.
    This is sort of changing. J2EE 1.4 is WS-I compliant, so when you compile server side ties from WSDL you can specify a document literal option and WS-I compliance. This gives you access to the SOAPElement objects. There's still issues with going between W3C DOM and SOAP elements but that's just API inconvenience, not a show stopper. As the inudustry develops more complex WSs we will see the vendors change their tools to better support this...
    Anyway, some more help...
    I use the the following wscompile options to build from WSDL for document literal WSs.
    wscompile.bat -d . -nd . -s . -f:documentliteral -f:wsi -keep -model model.gz -import config.xml
    wscompile.bat -d . -nd . -s . -f:documentliteral -f:wsi -keep -model model.gz -gen:server config.xml
    My "wrapper" elements look like this...
    <xs:element name="AComplexXMLResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element ref="myNS:MYComplexXMLType"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    If I do this:
    <xs:element name="ASimpleXMLResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element name="AName" type="xs:string"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    I still get the JAXRPC language bindings to a string, but in my case I don't really care. This may well be different for you.
    What I do to manage these elements is to split up the WSDL, WS wrapper element definitions and actual data XML schema definitions into separate documents. This means I have a WSDL which IMPORTS my message schema (this is where I define wrappers for in and out XML) which INCLUDES the actual DATA XML schema that I have.
    The WSDL import looks like this:
    <types>
         <xs:schema>
              <xs:import namespace="http://schemaURI" schemaLocation="./relativePath/WrapperElementSchema.xsd"/>
         </xs:schema>
    </types>
    The wrapper element schema has:
    <xs:include schemaLocation="./ActualDataSchema.xsd"/>
    This way I can easily replace the wrapper documents with just anyType references if something doesn want to play nice. The data schema file and the WSDL stay the same. This minimises the impact on what you have to change in your distribution. This is important as the WSDL is often generated on the fly by your WS environment and so can not be easily changed once you build your WSs, but the schema files it references are easily changed without affecting your code.
    Another reason for the wrapper elements was a JWSDP 1.2 issue (I don't know if this has been fixed in 1.3), where if you had the same method parameter signature in a web service (the parameters it took were the same XML types, for instance if you have an add and update methods for the same document input) JWSDP would get confused at runtime. It did not take account of the SOAP action that came along with the request to determine which operation to call. It just took the incoming XML, saw that it was of a certain type and it passed it to the first operation that took this element, which is VERY wrong. By using the wrapper elements, I could give all my input and output elements for each method different names (I used a naming stragegy that appended a 'request' or 'response' string to the method name to form a method parameter element name. This is a pain in the ass, but works and does wonders for interoperability with other WS vendors. Like I said before, I've got this working with JWSDP, BEA and .Net servers and clients.
    Hope this helps,
    If you think there is a real need for a public HOWTO on this, I could write one with a full step by step guideline that shows where I broke my legs getting this stuff to work. But this would eat into my sleep time :-/ TO JUDGE INTEREST I call on all people interested in a tutorial to respond to this thread (esp people involved with the JWSDP WS tutorial documentation). If I get 5 or more different people responding I will loose some sleep for the good of this community. Otherwise, I will just try to help you when I have time to read the forums.
    Kuba

Maybe you are looking for