Using WebCenter Spaces Web Service API through JDeveloper's Data Control

Hi,
I'm trying to access WebCenter Spaces Web Service API (located at http://host:port/webcenter/SpacesWebService)
using JDeveloper's Web Center Data Control.
I created a data control in my portal project using JDeveloper's Web Service Data Control wizard.
I also created and configured key stores (jps-config.xml) at both sides (spaces server and my portal client).
How I created a data control:
* First I entered the name and the URL (http://host:port/webcenter/SpacesWebService?WSDL)
* Then I entered HTTP basic authentication details (user name and password)
* After that I drag-and-drop the getGroupSpaces() method from the data control to a .jspx page as a ADF read-only table.
* Then ran my portal project and navigated to this .jspx page and it worked. List of group spaces appeared well on that page.
The problem is that I got only public group spaces and group spaces created by the user I entered on HTTP basic authentication details.
I makes no sense to enter some static user details in a web service client (or a data control).
So the question is; can I use identity propagation to get only group spaces created by the same user which I logged in my portal?
Edited by: 832886 on Feb 18, 2011 3:09 AM

Hi,
You generally get NameError when you are executing the createCred/updateCred from a incorrect location. Are you using the wlst from oracle_common\common\bin?
Also, In your steps I don't see what you did to populate the walllet at JDeveloper end after your updateCred failed. This is a required step. Use the wlst from the location emntioned above and you should be able to proceed.
Thanks,
Vishal

Similar Messages

  • Create Workspace(Library) in domain by OCS Web Service API

    Hi,
    I am currently using the OCS Web Service API to create a Workspace(Library) in domain level. Here is the code I used:
              DomainManager dm = wsCon.getDomainManager();
              WorkspaceManager wm = wsCon.getWorkspaceManager();
              Item domainItem = dm.getDefaultDomain(null);     
              long domainID = domainItem.getId();
              wm.createWorkspace(     domainID,
                                            null,
                                            new NamedValue[]{
                                                 new NamedValue( Attributes.NAME, "libName"),
                                                 new NamedValue( Attributes.VERSIONING_CONFIGURATION, new NamedValue[]{
                                                           new NamedValue( Attributes.VERSIONING_CONFIGURATION_AUTO_VERSION, new Boolean(true)),
                                                           new NamedValue( Attributes.VERSIONING_CONFIGURATION_AUTO_LABEL, new Boolean(true)),
                                                           new NamedValue( Attributes.VERSIONING_CONFIGURATION_LABEL_TYPE, new Integer(FdkConstants.VERSION_LABELING_DECIMAL)),
                                            null
    However, following exception is caught:
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: ORACLE.FDK.WorkflowError:ORACLE.FDK.WorkflowParameterPromptRequired
    faultActor:
    faultNode:
    faultDetail:
         {http://xmlns.oracle.com/content/ws}fault:<detailedErrorCode xsi:type="xsd:string">ORACLE.FDK.WorkflowParameterPromptRequired</detailedErrorCode><errorCode xsi:type="xsd:string">ORACLE.FDK.WorkflowError</errorCode><exceptionEntries xsi:type="ns1:ArrayOfFdkExceptionEntry" xsi:nil="true"/><info soapenc:arrayType="ns1:NamedValue[1]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><info xsi:type="ns1:NamedValue"><name xsi:type="xsd:string">ECM.EXCEPTIONINFO.ObjectId</name><value xsi:type="soapenc:long">38465</value></info></info><serverStackTraceId xsi:type="xsd:string"/>
         {http://xml.apache.org/axis/}hostname:pccw-nkvcsp4lrh
    ORACLE.FDK.WorkflowError:ORACLE.FDK.WorkflowParameterPromptRequired
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
         at java.lang.Class.newInstance0(Class.java:308)
         at java.lang.Class.newInstance(Class.java:261)
         at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
         at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
         at oracle.ifs.fdk.FdkException.getDeserializer(FdkException.java:270)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
         at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
         at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
         at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
         at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
         at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
         at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1227)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:314)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:281)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:196)
         at oracle.xml.jaxp.JXSAXParser.parse(JXSAXParser.java:288)
         at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
         at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:784)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
         at org.apache.axis.client.Call.invoke(Call.java:2748)
         at org.apache.axis.client.Call.invoke(Call.java:2424)
         at org.apache.axis.client.Call.invoke(Call.java:2347)
         at org.apache.axis.client.Call.invoke(Call.java:1804)
         at oracle.ifs.fdk.WorkspaceManagerSoapBindingStub.createWorkspace(WorkspaceManagerSoapBindingStub.java:367)
    It seems that the workflow parameters are required to set, but I haven't create any workflow on my DB. Any idea on how to solve this problem?
    Thanks and regards,
    Tammy

    Post Author: yura.tkachenko
    CA Forum: Nsite
    Hi, saxotechpm
    saxotechpm:
    Is there support for inserting an object that has lookup relationships to other objects:
    Using the WSAPI I have tried to insert an object that has a lookup relationship to another object for pulling a number of fields.
    The insert works if I set the appropriate object id for the linker eo on the lookup button field, however none of the data fields from the linked eo are drawn into the object.
    I have also tried running an update with the following syntax. The update works on non linked fields  but the linked object data elements are never updated.
    The following NEOQLsyntax is used:
    update eo_60700 set button_select_contact=721238,button_select_account=721237 where Id=731033;
    721238 = an instance of a contact object
    721237 = an instance of an account object
    731033 = the target instance object being updated - the expectation is that this object would get the data elements linked from the two other instances.
    Thanks
    Yes, we do support of linked Enterprise Objects in WSAPI for detail sections and for header fields. But due to some internal issues headers are not  work properly. But now everything is OK. It has been fixed and it will take some time while you will be able to use it on production. But this fix will be delivered in the nearest patch. So in the October you can use this feature already on production.
    Thanks for your request and sorry for any inconveniece.

  • How to use WebCenter Spaces 11g 2.0 Services in WebCenter Interaction 10gR3

    Hi,
    Can someone explain how to use WebCenter 11g Web 2.0 Services in WebCenter Interaction 10gR3. I have installed Webcenter 11g Spaces. I also have Webcenter Interaction 10gR3 installed. Wanted to find out how can I make use of 11g web 2.0 services i.e. wiki,blog,discussions etc. in WCI 10gR3. How can I configure those services in 10gR3.
    As reading oracle notes it says there is a seemless integration of Web 2.0 11g Services in WCI 10gR3 but can't find any steps, tutorials or examples on how to do that. Any help is appreciated.
    Thanks.

    guest0012 wrote:
    As reading oracle notes it says there is a seamless integration of Web 2.0 11g Services in WCI 10gR3 but can't find any steps, tutorials or examples on how to do that.Nothing like that seamless integration with zero documentation:)

  • Process for adding a boolean option to the web service API

    Hey guys,
    Here's a little background:
    I'm currently working on adding an optional "strict" mode to some of the unmarshalling functions in SchemaMarshaller that will throw exceptions when receiving bad data for certain fields, and also improving the date handling while I'm at it (I want null instead of mangled dates when receiving bad data when strict mode is off).
    This is for my benefit at the moment as I'm tired of spending time debugging Flex code when XFire and Oracle are spitting out rubbish (like empty xsd:DateTime nodes, DateTimes in xsd:Date nodes, etc) - but I'm sure other people would like to use it too while we don't have a response validator, so I'd like to do it in a way that I can submit as a feature request (with patch) on Jira.
    My questions are about the procedure for stuff like this- where should this option be made public in the API, and who would I talk to about it? Or would it be best for it to always be strict? - That's how I'd like it :) Perhaps it should just log errors when it encounters bad data?
    This is the first thing I'd like to "add" to the SDK rather than a simple bug-fix, so I just want to do things in a kosher manner. Sorry if I come across like a total noob :)
    Cheers,
    -Josh
    "Therefore, send not to know For whom the bell tolls. It tolls for thee."
    :: Josh 'G-Funk' McDonald
    :: 0437 221 380 ::
    [email protected]

    Hey Josh,<br /><br />I'm swamped at the moment but appreciate your interest and your<br />contributions to Flex and WebServices thus far. I'll try and get some<br />time to look into your specific request and what you're hoping to do at<br />the code level, but to answer your question about test cases, you should<br />consider the NIST testsuite for XML Schema datatypes.<br /><br />BlazeDS has historically maintained the WebService implementation, so it<br />appears their test case for NIST based schema tests starts out here (and<br />refers to many data type test cases in the /nist subdirectory).<br /><br />http://opensource.adobe.com/svn/opensource/blazeds/branches/3.0.x/qa/app<br />s/qa-regress/testsuites/flexunit/src/tests/flexunit/xml/NISTXMLSchemaTes<br />t.as<br /><br />Pete <br /><br />________________________________<br /><br />From: [email protected] [mailto:[email protected]] On Behalf Of Josh<br />McDonald<br />Sent: Tuesday, July 08, 2008 8:21 PM<br />To: [email protected]<br />Subject: Re: Process for adding a boolean option to the web service API<br /><br /><br />A new message was posted by Josh McDonald in <br /><br />Developers --<br />  Process for adding a boolean option to the web service API<br /><br />Yeah I knew it'd have to be somewhere outside of SchemaMarshaller, as<br />it's [ExcludeClass] anyway so end users don't see it, nor is it<br />documented in the api docs. Just wasn't sure where it should be. I'll<br />have a think about it some more when I get some down time to work on it,<br />but webservice was where I was thinking it should be too. Didn't think<br />about having it settable on operation as well though, so thanks for that<br />:)<br /><br />Anybody know a good source of valid values for various XSI types (date<br />and DateTime mainly) for testing purposes? Or even who I should contact<br />to get access to that sort of thing? I assume the W3C will take 6 months<br />to answer me, and the answer will be "buy our $10,000 compliance testing<br />suite" or something along those lines.<br /><br />-Josh<br /><br />On Wed, Jul 9, 2008 at 9:46 AM, Matt Chotin <[email protected]><br />wrote:<br /><br /><br />     A new message was posted by Matt Chotin in<br />     <br />     Developers --<br />      Process for adding a boolean option to the web service API<br />     <br />     I think for a top-level user option I would put the new option<br />on the mx.rpc.soap.Operation class (I think that's the name).  You'd<br />then have that propagate through to the underlying schema classes as<br />they are used.  I'd then also add an option to the WebService class<br />itself, and basically in the Operation it should see if it has its own<br />value set and if not check the value on the WebService.  We do this for<br />a couple of other flags too I think.<br />     <br />     End users in general wouldn't look at any classes other than the<br />WebService and maybe the Operation classes, so asking them to set<br />options on the schema classes themselves probably wouldn't work.<br />     <br />     Matt<br />     <br />     <br /><br /><br /><br />-- <br />"Therefore, send not to know For whom the bell tolls. It tolls for<br />thee."<br /><br />:: Josh 'G-Funk' McDonald<br />:: 0437 221 380 :: [email protected] <br /><br /><br />________________________________<br /><br />View/reply at Process for adding a boolean option to the web service API<br /><a href=http://www.adobeforums.com/webx?13@@.59b5be89/1> <br />Replies by email are OK.<br />Use the unsubscribe<br /><a href=http://www.adobeforums.com/webx?280@@.59b5be89!folder=.3c060fa3>  form<br />to cancel your email subscription.

  • How to Specify Metadata When Adding Content Using iTunes U Web Service?

    I've been developing Java applications using iTunes U Web service and uploaded content to iTunes U site using iTunes U Web service without problem. Now I want to add metadata fields (name, artist name, album name, etc.) for the tracks I uploaded. It seems to me that "AddTrack" will do. So I tested it but it neither adds a track under the specified group nor updates metadata fields for an existing track. It turned out "MergeTrack" actually updates metadata fields for an existing track. So is there any way to specify metadata at the time of adding content using iTunes U Web service? And what exactly does AddTrack do? This is all about contents hosted by iTunes U site and no RSS is involved.
    I'm referring to the "AddTrack" method in iTunes U Web service:
    http://deimos.apple.com/rsrc/doc/iTunesUAdministrationGuide/iTunesUWebServices/c hapter18_section_21.html#//appleref/doc/uid/AdminGuide-CH13-SW26

    Thanks for all the replies. My question is whether there is any way to specify metadata WHEN adding content using iTunes U Web service. Specifying metadata AFTER adding content can be achieved by MergeTrack (weird naming) and it does work.
    As for setting track level meta-data in the media file and then upload it, there're several reasons against that, among which are:
    1. Some track metadata are context-dependent. A video about buildings on Michigan Ave in Chicago can be track #2 in a history course and described as "historic view of the Magnificent Mile", but the same media can also be track #5 in a landscape design course and described as something like "contemporary architecture". Setting these metadata in the media file itself is not the preferred way to do it since it implies maintaining a version of the same media for any course/group it gets uploaded to.
    2. Setting metadata in a location separate from the media file helps track the metadata change and search for media without digging into the media itself.
    3. If MergeTrack "updates" metadata, there got to be some other method that "creates" metadata - that's what a well-designed API should look like. And setting metadata in the media file is not an equivalent to a "create metadata" method call. In rickwolf's term, that implicit AddTrack should actually be made explicit so the party uploading content can explicitly specify metadata instead of having iTunes U extract metadata from the media.
    It is still not clear what "AddTrack" does exactly, maybe rickwolf is right - it's only relevant to tracks created through RSS.
    So it seems to me there is no other way to specify metadata WHEN adding content using iTunes U Web service than setting metadata in the media file. To me it is more like a design flaw.
    Message was edited by: Stone Xiang
    Message was edited by: Stone Xiang
    Message was edited by: Stone Xiang

  • Using SSL for Web Service Access

    Hi,
    I'm not sure if this the best forum, but this is technically a J2EE question.
    I'm using JDeveloper and OC4J. I have a java class that I'm publishing as a stateful webservice; however, the only clients will be other java routines. (I generated a WSDL file and then stubs.) This webservice has to run on a Windows 2000 box inside of OC4J. I have this done and can call it from across the network from a Linux box. This all works fine. However, I need to add security preferably by going to SSL. I can't find out how to do this. Does anyone know? Do I manually edit the generated stub files? Any chance there is some sample code somewhere?
    thanks,
    Joe Gamache

    Please look at Appendix A of the "Web Services Developer's Guide" from iAS v9.0.2 covers Oracle SOAP. The section, "Working With Oracle9 iAS SOAP
    Transport Security", covers using SSL.
    Here is a simple example with steps:
    Prerequisites
    1 . Suppose you have configured Apache to use SSL , that is
    -     Apache has a valid server certificate
    -     Apache requires the client certificate
    -     Apache has a bundle of root certificates of CA with wich it can trust client certificates
    -     Apache is in front of OC4J with mod_oc4j (9.0.2) or mod_proxy ( 1.0.2.2)
    For more information on this please refer to Oracle9i Application Server Security Guide
    2. Have a working knowledge of Oracle Wallet Manager
    Steps
    The following steps let you use an https web services client
    1.     First you need a certificate store in order to store the private key , the client X509 certificate and some trusted authorities. This store in our case is a wallet exported by Oracle Wallet Manager.
    2.     In order to generate a correct wallet you need :
    a.     Start the Oracle Wallet Manager ( OWM )
    b.     Create a new empty wallet
    c.     Generate a Certificate Signing Request (CSR )
    d.     Import the X509 certificate that the CA generated from the CSR
    e.     Import the root certificate of the CA that trusts the server certificate you would like to connect to ( that of Apache )
    f.     Export the wallet
    3.     Let's call exported_wallet the wallet that we exported from OWM , and lets put it under c:\temp . Suppose that the wallet password is camarda.
    4.     The JDK you plan to use for your client , in the extension directory ( that is $JDK_HOME/jre/lib/ext ) , must contains the following library
    a.     jcert.jar
    b.     jsse.jar
    c.     jssl-1_1.jar
    5.     Oracle SSL library use JNI in order to implement some low level encryption API , so you need a shared library usually located in $ORACLE_HOME/bin . For NT platform this library is njssl9.dll . Be sure to have this library in your path
    6.     Now given a WDSL , use the Jdeveloper wizard to generate a proxy
    7.     Modify the URL end-point from http to https
    8.     Add to the proxy the following lines of code
    System.setProperty("ssl.SocketFactory.provider","oracle.security.ssl.OracleSSLSocketFactoryImpl");
    System.setProperty("ssl.ServerSocketFactory.provider","oracle.security.ssl.OracleSSLServerSocketFactoryImpl");
    System.setProperty("java.protocol.handler.pkgs","HTTPClient");
    System.setProperty("oracle.wallet.location","C:\\temp\\exported_wallet");
    System.setProperty("oracle.wallet.password","camarda");
    Example
    In red : modified
    In blue : added
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import java.net.URL;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    import org.w3c.dom.Element;
    import java.util.Vector;
    import java.util.Properties;
    import oracle.xml.parser.v2.*;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Mon May 20 14:24:48 CEST 2002
    * WSDL URL: http://26.2.197.119:8888/InterOp/Services.wsdl
    public class AnagInquireServicesEJBStub {
    public String endpoint = "https://26.2.197.119/InterOp/AnagInquireServices";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    public AnagInquireServicesEJBStub() {
    m_httpConnection = new OracleSOAPHTTPConnection();
    public Element ricercaPF(String istat1, String istat2, String codiceFiscale) throws Exception {
    System.setProperty("ssl.SocketFactory.provider","oracle.security.ssl.OracleSSLSocketFactoryImpl");
    System.setProperty("ssl.ServerSocketFactory.provider","oracle.security.ssl.OracleSSLServerSocketFactoryImpl");
    System.setProperty("java.protocol.handler.pkgs","HTTPClient");
    System.setProperty("oracle.wallet.location","C:\\temp\\exported_wallet");
    System.setProperty("oracle.wallet.password","camarda");
    Element returnVal = null;
    URL endpointURL = new URL(endpoint);
    Call call = new Call();
    call.setSOAPTransport(m_httpConnection);
    call.setTargetObjectURI("AnagInquireServices");
    call.setMethodName("ricercaPF");
    call.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML);
    Vector params = new Vector();
    params.addElement(new Parameter("istat1", String.class, istat1, Constants.NS_URI_SOAP_ENC));
    params.addElement(new Parameter("istat2", String.class, istat2, Constants.NS_URI_SOAP_ENC));
    params.addElement(new Parameter("codiceFiscale", String.class, codiceFiscale, Constants.NS_URI_SOAP_ENC));
    call.setParams(params);
    Response response = call.invoke(endpointURL, "");
    if (!response.generatedFault()) {
    Parameter result = response.getReturnValue();
    returnVal = (Element)result.getValue();
    else {
    Fault fault = response.getFault();
    throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
    return returnVal;
    public void setMaintainSession(boolean maintainSession) {
    m_httpConnection.setMaintainSession(maintainSession);
    public boolean getMaintainSession() {
    return m_httpConnection.getMaintainSession();
    public void setTransportProperties(Properties props) {
    m_httpConnection.setProperties(props);
    public Properties getTransportProperties() {
    return m_httpConnection.getProperties();
    public static void main( String args[] ) {
    AnagInquireServicesEJBStub a = new AnagInquireServicesEJBStub();
    try {
    XMLElement e = (XMLElement) a.ricercaPF("102030","102030","CMRGPP69M29D761K");
    e.print(System.out);
    } catch (Exception ex) {
    ex.printStackTrace();
    } finally {

  • Web Service API sample code

    Howdy All,
    I am trying to work through the iTunes U Admin's guide directions on how to upload content using the Web Service API. I have completed everything through step 2, (I believe it is page 48 in the current guide), Request an Upload URL from iTunes U. After I try to POST a file to the URL returned in step 2 the only response I receive back from the server is a 500 error. I am writing my application in C# so using a UNIX curl script to perform the file upload is not possible, and that seems to be the only thing close to sample code that I can find.
    Has anybody else written some .NET code that performs the file upload in step 3 that they would be willing to share? Even Java code that I could port over to C# would be a good start. I can also post some of my own code if there is anybody that feels like taking a look at it.
    Thanks,
    David
      Other OS  

    Couple of pointers for you ...
    First is that the documentation (last time I looked) has a bug that will prevent you from using the web services API. Here is a link to the changes you need to make:
    http://discussions.apple.com/thread.jspa?threadID=899752&tstart=15
    Next, when I was working through this stuff, I found learned a ton about HTTP I didn't previously know (like how to construct a valid multipart MIME doc). If it would be helpful, your POSTed doc should look pretty close to this:
    Content-Type: multipart/form-data; boundary=0xKhTmLbOuNdArY
    --0xKhTmLbOuNdArY"
    Content-Disposition: form-data; name="file"; filename="myXMLFile.xml"
    Content-Type: text/xml; charset="utf-8"
    <?xml version="1.0" encoding="UTF-8"?>
    <ITunesUDocument>
    <ShowTree>
    <KeyGroup>maximal</KeyGroup>
    </ShowTree>
    </ITunesUDocument>
    --0xKhTmLbOuNdArY--
    I would be happy to share my own code, but it might not be what you're after (I used Objective-C and Apple's NSMutableHTTPRequest Cocoa class to do my HTTP POST). I am not a C# guy, but I would bet dollars-to-donuts that C# has some kind of class that serves as a wrapper for an HTTP POST request ... you give it the HTML, it POSTs.
    MacBook Pro   Mac OS X (10.4.8)   I lied. I'm running Leopard

  • Adding transaction layer to Web service API

    Our company, an ISP, recently invested in the BroadHop Enterprise Service Manager platform. The platform enables us to provision Internet services via the Web. We were able to write, largely from scratch, a "registration process" by which our users subscribe to service, and then sign-in to use their Internet access.
    To create the data representing these new customers, the registration process utilizes several Web service APIs provided by BroadHop. There is one Web service to create the customer's account, another to provision his/her services, and another to facilitate the authentication process.
    What I am interested in is a means of creating a transaction for these Web service calls, with the intention of "rolling back" in the middle of the process. The Web services are consumed thusly:
    1. User enters data into session beans via a JSP-driven, multi-page, collection phase.
    2. The data stored in those beans is disseminated into a special "bean" used to represent the customer's account information. This bean object is then submitted through the Web service API to create the account.
    3. The data stored in the session is further disseminated into a product subscription object, which is then submitted through its own Web service.
    4. Upon success returned by both Web service calls (the absence of an exception), the user is taken to the sign-in page.
    If an error is thrown between steps 2 and 3, our present handler dumps all session data into an XML file and forwards the user to an error page. Although we could eventually automate the process, the data in the XML dump is then manually inserted into the system. Until this is done, however, the data stored in BroadHop is somewhat corrupt, because an account exists but is an orphan (without product subscription information).
    What I am looking for is a generic means of representing the entire transaction as it is to take place, and programmatically "resuming" or "rolling back" the transaction so that orphan data does not hang around in our system.

    My mistake...
    on [http://download.oracle.com/docs/cd/E11081_01/doc/web.21/e14979/toc.htm|http://download.oracle.com/docs/cd/E11081_01/doc/web.21/e14979/toc.htm] , the method
    void      createPropertiesFileOnVirtualMachine(java.util.Properties props, VirtualMachine vm, java.lang.String propFileName)seems to do what I need...
    Now, because my test environment only allow PV Guests, I'd like to know if that also work for HW Guests?

  • Web Services API Sample w/ Filters

    Does anyone know how to use a Filter in a doOracleSearch call using the Java proxies supplied for the Web Services API? I tried doing this but it appears there is a conflict with Servlet Filter class. When I used the complete path to the class, it compiles, but upon deployment and execution on OC4J I get a symbol not found error. Here is an excerpt of the problem code:
    if( query != null && search_type.equals("advanced") )
    String str_doc_type = request.getParameter("document_type");
    int start = orderByDate ? 1 : startIndex;
    int hits = orderByDate ? recencyHits : pageHitCount;
    oracle.search.query.webservice.client.Filter[] myfilterArray = null;
    oracle.search.query.webservice.client.Filter filterDocType = new oracle.search.query.webservice.client.Filter(112,"string","equals","4918");
    myfilterArray[0] = filterDocType;
    try
    res = ctx.doOracleSearch(
    query, // query
    new Integer( start ), // start index
    new Integer( hits ), // documents requested
    Boolean.TRUE, // duplicates removed
    Boolean.FALSE, // duplicates marked
    groups, // data groups
    locale.getLanguage(), // query language
    null, // document language
    Boolean.TRUE, // return count
    null, // filter connector
    myfilterArray, // filters
    null // fetch attributes
    catch( Exception e )
    searchException = e;
    }

    Hi,
    I am trying to deploy this sample application. I received the following error:
    [oracle@dev1 home]$ /home/oracle/oracle/product/10.1.8/ses1/jdk/jre/bin/java -ja
    r /home/oracle/oracle/product/10.1.8/ses1/oc4j/j2ee/home/admin_client.jar deploy
    er:oc4j:dev1.psa:5740 oc4jadmin oraidev1 -deploy -file /home/oracle/oracle/produ
    ct/10.1.8/ses1/oc4j/j2ee/OC4J_SEARCH/applications/sample.ear -deploymentName ses
    _query -bindAllWebApps http-web-site
    08/05/20 11:20:29 Notification ==>Application Deployer for ses_query STARTS.
    08/05/20 11:20:29 Notification ==>Copy the archive to /home/oracle/oracle/produc
    t/10.1.8/ses1/oc4j/j2ee/OC4J_SEARCH/applications/ses_query.ear
    08/05/20 11:20:29 Notification ==>Initialize /home/oracle/oracle/product/10.1.8/
    ses1/oc4j/j2ee/OC4J_SEARCH/applications/ses_query.ear begins...
    08/05/20 11:20:29 Notification ==>Unpacking ses_query.ear
    08/05/20 11:20:29 Notification ==>Error while unpacking ses_query.ear
    java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:112)
    at java.util.jar.JarFile.<init>(JarFile.java:127)
    at java.util.jar.JarFile.<init>(JarFile.java:92)
    at oracle.oc4j.util.FileUtils.unjar(FileUtils.java:309)
    at oracle.oc4j.util.FileUtils.autoUnpack(FileUtils.java:488)
    at com.evermind.server.deployment.EnterpriseArchive.<init>(EnterpriseArc
    hive.java:234)
    at oracle.oc4j.admin.internal.ApplicationDeployer.initArchive(Applicatio
    nDeployer.java:412)
    at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDe
    ployer.java:187)
    at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)
    at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun
    (OC4JDeployerRunnable.java:52)
    at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(Deplo
    yerRunnable.java:81)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:298)
    at java.lang.Thread.run(Thread.java:534)
    08/05/20 11:20:29 Notification ==>Operation failed with error:
    Unable to find/read file META-INF/application.xml in /home/oracle/oracle/product
    /10.1.8/ses1/oc4j/j2ee/OC4J_SEARCH/applications/ses_query (META-INF/application.
    xml)
    Deploy error: Deploy error: Operation failed with error:
    Unable to find/read file META-INF/application.xml in /home/oracle/oracle/product
    /10.1.8/ses1/oc4j/j2ee/OC4J_SEARCH/applications/ses_query (META-INF/application.
    xml)
    Please help!!
    Thanks!
    Regards,
    Deva

  • Multiple Web Services in one Jdeveloper project

    Hi all,
    I'm currently trying to implement a series of web services, all relating to one application. I'm using the top-down approach, where I generate the web service from a WSDL file, and add my implementation to the generated classes. The WSDL file imports all sorts of XML Schemas (xsd-files) and Jdeveloper correctly generates all the necessary java-classes for me. Lets call the first web service I create WS-1.
    This all works fine and I'm a happy panda. I can call the web service, it works, I can modif the wsdl and regenerate the web service to e.g. change the input etc. All this works.
    Just until the point where I want to create a second web service (lets call this WS-2). This new web service doesn't use all the XML Schemas that the first web service does, it is more simple with regards to in-/output. The problem arises when I modify WS-2 and Jdeveloper regenerates the Web service files (.java and the files in the WEB-INF/wsdl-directory). When I do this, it deletes the imported xsd-files that WS-1 uses (removes them from WEB-INF/wsdl).
    And when I regenerate WS-1 to get my xsd-files in again, then when I regenerate WS-2 it imports all the unnecessary xsd-files into the wsdl for WS-2.
    Something tells me, that there is a connection or shared library between all web services in one Jdeveloper project. That they all imports and uses the xsd-files in WEB-INF/wsdl.
    Is this true? Can't I have multiple web services (and wsdl-files) using different types (schema definitions) in the the same Jdeveloper project?
    One solution I can think of, is to have all my web services in different projects under the same application. But is this really necessary?
    I'm using Jdeveloper 10.1.3.3.0.

    Hi,
    pure from a coder instinct I think I would prefer them to be in separate projects for better reuse and clean separation. If I need project 1 to access aclass from Project 2, I can check the dependency check box in the project properties. Is there any business requirement that makes you think having all of these in a single project will help ?
    Frank
    Btw.: I agree that JDeveloper shouldn't constraint developers from doing what they want and if this is a limitation the feel free to file a bug

  • Web Service API v.3 overview

    Post Author: yura.tkachenko
    CA Forum: Nsite
    There are a lot of calls available in Web Service API v.3, here is list of functions:
    login (create WS API session which is valid 15,30,60 minutes -
    actually depends of company settings). Return back to user generated
    unique sessionId, serverUrl (usually you need pass serverUrl as a new
    endpoint of WebService). But we are recommend do not use serverUrl better use cookie-based approach (on client side you need to tell your soap stack to maintain cookies).
      logoff - finish active session (requires sessionId parameter)queryObject - return EnterpriseObject data (instances). Using that call you can query headers, detail sections, apply pagination for both headers, details. Also you can query such administrative objects: Company (company information - as one user can belong only to one company so at any time you can query only one record), User (list of users settings), Attachment (using that object you can query any attachment assigned with any Enterprise Object). insertObject - add new record to EnterpriseObject, User (only if you are administrator in the company), Attachment (add new attachment)updateObject - edit existing objects: Enterprise Object(headers, details), User (change your profile, edit profile of other users if you are administrator), Company (edit company settings), Attachment (edit attachments).deleteObject - delete : Enterprise Objects or edit Enterprise Objects (deleting row in detail section), Attachment (delete attachments). Nsite doesn't support deleting such entities from system as: User, Company.copyObject - copy exiting Enterprise Object (instance) to another instace with all nested (details, attachments, header fields).describeObject - retrieves full meta description of Enterprise Object (header fields, detail sections, relationships with other EOs). Also this method retrieve description about administrative objects: Company, User, Attachment.describeSystem - retrieves company settings (Company object). You can simulate this call using queryObject operation.getObjectsList - retrieves list of available EnterpriseObjects and administrative objects.getUsersList - retrieves list of company's users.describeUser - retrieves user specific information (User object record). You can simulate this call also using queryObject operation.getCompanyLookups - retrieves available lookups for current company.getLookup - get lookup values and general information about lookup by lookup path. Usually lookup path is assigned to drop-down in Enterprise Object definition. So sometimes very useful to know what values acceptable by EnterpriseObject1 in drop-down1.createLookup - add new lookup to system. This lookup will be available automatically in the Application Designer or others tools.updateLookup - change lookup values etc.uploadAttachment - assign new attachment with "Attachment" component of EO or with "Attach" button (global attachment). This function using DIME attachments - so you need to be sure that your soap stack support this method. You can upload attachments also using insertObject (using Attachment object), but this call work faster for big files.downloadAttachment - download attachment(assigned with "Attachment" component or "Attach" button) using DIME attachments. The same behavior can be reproduce with queryObject call, but this call work faster.describeRouting - get information about any routing in the nSite system. You can get information like: routing status, list of participants, etc.routeEO - start routing mechanism for Enterprise Object.approveEO - approve routing. Current user should be approver.rejectEO - reject routing. Current user should be approver.stopEO - stop routing. Current user should be initiator of routing.We have such limitation of our API:Doesn't support running Business Rules if something was changes in EO instance using calls: insertObject, updateObject, deleteObject.Doesn't support Enterprise Objects which is marked as "version enabled" in Application Designer.Doesn't support forwarding of routings.Doesn't support to modify EnterpriseObject structure (definition).Doesn't support manipulations with Roles Based Access Component.

    Post Author: yura.tkachenko
    CA Forum: Nsite
    Hi, saxotechpm
    saxotechpm:
    Is there support for inserting an object that has lookup relationships to other objects:
    Using the WSAPI I have tried to insert an object that has a lookup relationship to another object for pulling a number of fields.
    The insert works if I set the appropriate object id for the linker eo on the lookup button field, however none of the data fields from the linked eo are drawn into the object.
    I have also tried running an update with the following syntax. The update works on non linked fields  but the linked object data elements are never updated.
    The following NEOQLsyntax is used:
    update eo_60700 set button_select_contact=721238,button_select_account=721237 where Id=731033;
    721238 = an instance of a contact object
    721237 = an instance of an account object
    731033 = the target instance object being updated - the expectation is that this object would get the data elements linked from the two other instances.
    Thanks
    Yes, we do support of linked Enterprise Objects in WSAPI for detail sections and for header fields. But due to some internal issues headers are not  work properly. But now everything is OK. It has been fixed and it will take some time while you will be able to use it on production. But this fix will be delivered in the nearest patch. So in the October you can use this feature already on production.
    Thanks for your request and sorry for any inconveniece.

  • Right content.jar for web service API?

    I have a java application that interacts with Content Services via the Content Services Web Services API. I wish to update the content-ws-client.jar file my app uses, since we have undergone several upgrades since I set my app up.
    When I search my newly-patched 10.1.2.3.7 installation for a new content<anything>.jar, I get four hits:
    [oracle@powerocs apps]$ find -type f -iname 'content-ws-client.jar'
    ./j2ee/OC4J_OCSClient/connectors/FilesSearchlet/FilesSearchlet/content-ws-client.jar
    ./j2ee/OC4J_OCSClient/applications/workspaces/workspaces/WEB-INF/lib/content-ws-client.jar
    ./j2ee/OC4J_OCSClient/applications/workspaces/workspaces_ws/WEB-INF/lib/content-ws-client.jar
    ./j2ee/OC4J_Portal/applications/ocsprovs/content_searchlet/content-ws-client.jar
    The second and third files listed are identical. The other two differ from them, as well as each other. That's three different files with the name content-ws-client.jar. Which one is right for me?

    I went to http://www.oracle.com/technology/software/products/ias/index.html and downloaded oc4j_extended_101330.zip. This archive contains many jars, but none called content<anything>.jar. Is the file I want in there, but renamed?

  • Get started with web service API

    I have a test installation and I can run the web service calls using the URL https://myserver.com/sgd/admin/apitest/. I can authenticate and start a session and open an application using this apitest fixture.
    I can't find any documentation about using the web service API beyond the javadocs. Can someone tell me the default web service endpoint so I can download the wsdl? Are there any examples or tutorials out there for writing a web application that calls the web service APIs?

    The documentation was published on the Sun Wikis at http://wikis.sun.com/display/SecureGlobalDesktop/Web+Services+Home+Page This is no longer available.
    There are examples under:
    sgd/examples/* (user examples)
    sgd/admin/* (administration examples)
    The basic sequence for a user application is:
    - authenticate
    - setTCCConfiguration
    - startTCC
    <do your thing>
    - endMultiViewSession
    Those calls are all on WebtopSession.
    "<do your thing>" might be
    - display a webtop (WebtopContent)
    - launch an application (EmulatorSession)

  • Implement the web-service API on an external service desk

    Hi,
    I want to implement the web-service API on an external service desk
    system.
    I am working with the IMG and got to the point where I define a logical
    port. At this point I need the web-service to be implemented on the
    external system.
    I have web-service API documentation and also read note 962383 - but I
    did not find any specific instructions how to implement the web-service.
    Can you assist me with documentation for the web-service implementation
    on external system procedure?
    or if someone can share a step-by-step - it would be great.
    Thanks,
    Shelly

    Hello Shelly,
    Please use the following link to Read a blog Service Desk Implementation Guide Part II
    Service Desk Implementation Guide Part II
    This blog describes the following.
    1) Integrate New data in the Service Transaction
    2) Implement new action: send mail to creator on message modification.
    3) Configure an interface to an external service Desk
    4)Implement a new action that send the message to the external system and change automatically the status.
    Hope it helps.
    Cheers,
    Satish.

  • What's New in Nsite Web Service API v.4?

    Post Author: yura.tkachenko
    CA Forum: Nsite
    With Nov '07 Release you will be able to start use Nsite Web Service API v.4. This release contains
    numerous bug fixes and performance improvements. This new API is improved
    stability for different operations. Below you can find what was added in this
    release:User can turn on/off Gzip compression for Web Service API callsinsertObject call was changed and now you can do mass insert for headers and detail sections. No more neoql query as input parameter for insertObject call. Fully supporting for I18N. No limitation to insert records with fields which is starts with "_" or field's values which has quote characters or any other character.updateObject call was changed and now you can do mass update operation for headers and detail sections. No more neoql query as input parameter for updateObject call. Fully supporting for I18N. No limitation to update records with fields
    which is starts with "_" or field's values which has quote characters
    or any other character. deleteObject call was changed to support mass delete. You don't need pass any more neoql expression to delete EO record or row in detail section. Besides per one query you can delete records from different Enterprise Objects or Administrative Objects.New call - describeCurrentUser. Retrieves description of the currently logged on user.Improved performance for queryObject when you are trying to query about 2,000 records. About in two times faster start to work.Bug fixes:Improved error handlingqueryObject returns DateTime fields according to user's time zone settings. P.S.: If you are using WS API to implement importing data to Nsite please use insertObject call from v.4 instead of insertObject from WS API v.3. Because per one request you can insert hundreds of records. Approximately API v.4 can insert about 200-250 records per minute it depends on complexity of Enterprise Object.

    Post Author: yura.tkachenko
    CA Forum: Nsite
    Using GZip compression with Nsite Web Service API
       The API allows the use of compression on the request and the response, using the standards defined by the HTTP 1.1 specification. Compression is not used unless the client specifically indicates that it supports compression. For better performance, we suggest that clients accept and support compression as defined by the HTTP 1.1 specification.    To indicate that the client supports compression, you should include the HTTP header u201CAccept-Encoding: gzip, deflateu201D or a similar heading. The API compresses the response if the client properly specifies this header. The response includes the header u201CContent-Encoding: deflateu201D or u201CContent-Encoding: gzip,u201D as appropriate. You can also compress any request by including a u201CContent-Encoding: deflateu201D or u201Cgzipu201D header.   Most clients are partially constrained by their network connection, even on a corporate LAN. The API allows the use of compression to improve performance. Almost all clients can benefit from response compression, and many clients may benefit from compression of requests as well. The API supports deflate and gzip compression according the HTTP 1.1 specification.
    Example using Java Axis 1.x    /**     * To make test of gzip compression we will need to do:     * 1) Query 2000 rows from Account enterprise object     * 2) Timeout 15 sec.     */    @Test(timeout = 15000)    public void checkGZip() {        try {            com.nsite.webservices.api.v4.stubs.QueryOptions options = new com.nsite.webservices.api.v4.stubs.QueryOptions();            options.setStartRow(0);            options.setPageSize(2000);            binding.setHeader(locator.getServiceName().getNamespaceURI(), "QueryOptionsObject", options);            // we are using gzip compression on both sides: client, server            binding._setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE);            binding._setProperty(HTTPConstants.MC_GZIP_REQUEST, Boolean.TRUE);            // make query            long time = System.currentTimeMillis();            com.nsite.webservices.api.v4.stubs.QueryResult qr =  binding.queryObject("select * from eo_" + Account_EO + ";");            System.out.println("Total tile to process: " + String.valueOf(System.currentTimeMillis() - time) + " ms.");            Assert.assertTrue("Not passed.", qr.getObjectList().length==2000);        } catch (com.nsite.webservices.api.v4.stubs.fault.ApiFault apiFault) {            Assert.fail("Not passed. " + apiFault.getExceptionMessage());        } catch (RemoteException e) {            Assert.fail("Not passed. " + e.getMessage());        }    }

Maybe you are looking for

  • Getting an error in CMS..Domain Data

    Hello All, I just finished installing & configuring (including Post installation) JDI on EP6 SP15. Now in CMS, am getting an error as <i><b>cannot create directory: D:\usr\sap\JTrans/CMS/inbox</b></i> in Domain Data tab.. under Landscape Configurator

  • Upload to FTP host doesn't work

    Hi all, I have made a website and uploaded it to FTP host via Muse and all worked fine. But I can't seem to find a way to do this with my second website. I insert the right information, and via FileZilla for instance, I can login with this informatio

  • HT1694 How do I reduce the number of emails in my iPhone inbox?

    In the previous iOS I was able to choose the number of days I could sync mail back to. Since the update, I have years worth of emails synced on my phone. Any clues how to reduce this number?

  • BPC Netweaver version - Conversion File Formulas

    BPC (Netweaver) Expert, When creating formulas on the Data Conversion File that is called by the Transformation File, the Formulas are not working on the Netweaver Version.  Does anyone have any idea what may not be set up correctly? Thanks, Greg Rot

  • Animation size larger than actual image size after saving as gif?

    Hi, I just created an animation (600x600 pixel) and saved it as gif. Everything seems fine except the grainy quality and the fact that it is nearly twice as large as my actual image size (100%) shown on photoshop. I don't mind the grainy quality but