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?
Similar Messages
-
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 OSCouple 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 -
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()); } } -
Content Viewer for Web Right-edge-binding
Hi
A folio marked as Right-edge-binding is navigated on a Content Viewer for Web as left-to-right..
Any suggestions?
Thanks
EliHi, The direct entitlement feature is only available to accounts that have the "Enterprise" level. At this time, setting up an integrator id, which lets the fulfillment server know what your endpoints are, is not a self-service operation. If you already have your direct entitlement server working you had contacted someone in our customer enablement team to setup your integrator ID. Please work with the same person to enable this integrator ID for the Content Viewer for Web. We plan to make this a self-service operation in the future. Thanks Joerg
-
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.
-
Invalid Content Type Error for Web Service
Hi Experts,
We have a XI / PI Web Service, and have created an Adaptive Web Service Model for the same. For using this web service model, we have created a HTTP destination of type WSDL.
This configuration works great in our development and consolidation server.
While working with our production server, with all the settings same as consolidation server, the following error is generated for Web Service call. using the AWS model
java.io.IOException: Invalid content type while requesting http://<host>:<port>/webdynpro/resources/<application_package>/guicall.wsdl. Expected Content-type: text/xml, received Content-type: content/unknown, used user to connect: null
The HTTP destination address is the one specified in bold above.
Also, in later part of the stack trace we are bale to see this error:
com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for WS metadata destination
Please guide us on this issue.
Best Regards,
Alka.Hi Alka,
How did you configure the Webservice Destinations in Visual Admin for a webservice explosed by XI system.
I mean what was the URL specified, did you specify XI SYSTEM userid password ???
How was the webservice published to inspection.wsil in XI system ??
Thanks,
Regards,
Aditya Metukul -
Dou you know if KWm supports Web Services clients?
Thanks[becatelvent],
Dou you know if KWm supports Web Services clients?
ThanksThere is a JSR (JSR-172) with an expert group working to define the web services APIs for J2ME. Sun is the spec lead for this JSR. You can take a look at this JSR at:
http://www.jcp.org/jsr/detail/172.jsp
HTH.
Rgds,
Allen Lai
Developer Technical Support
Sun Microsystems
http://access1.sun.com -
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 -
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,
TammyPost 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. -
Setting Basic Authentication for Web Service in WLS 6.1
Hi,
I am trying to set-up a Basic Username/Password authentication for a Web Service
that is hosted in WLS 6.1.
How do I go about doing that? Also once I get the username and password, how do
I pass that info
to the SOAP servlet to do the authentication? Can you give me some pointers on
this?
Thanks
MadhuHow do you want to do it? Through use of client.jar for the service or
directly? Here is how I do it directly:
String auth = "guest", pwd = "guest";
URL url = new URL("http://localhost:7001");
URL cmdURL = new URL(url.toString()+"/systemtest/TestWebService");
HttpURLConnection conn = (HttpURLConnection) cmdURL.openConnection();
String encAuth =
new BASE64Encoder().encode((auth + ":" + pwd).getBytes());
// BASE64Encode distributes long strings on multiple
// lines; we don't like that, no siree
int it = 0;
while ((it = encAuth.indexOf('\n')) != -1
|| (it = encAuth.indexOf('\r')) != -1) {
encAuth = encAuth.substring(0, it) +
encAuth.substring(it + 1);
conn.setRequestProperty("Authorization", "Basic " + encAuth);
conn.setRequestProperty("Content-Type", "text/xml");
conn.setRequestProperty("SOAPAction", cmdURL.toString());
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
OutputStream oStr = conn.getOutputStream();
String cmd =
"<?xml version=\"1.0\" ?>\n"
+ "<soap:Envelope xmlns:soap=\"http://schemas.xmls"
+ "oap.org/soap/envelope/\"><soap:Body>"
+ "<ping><arg0>false</arg0></ping>"
+ "</soap:Body></soap:Envelope>";
oStr.write(cmd.getBytes());
oStr.close();
InputStream iStr = conn.getInputStream();
byte[] buffer = new byte[1024];
while (true) {
int size = iStr.read(buffer);
if (size == -1)
break;
System.out.println(new String(buffer, 0, size));
ThorAAge -
Have the web service API URLs changed?
I'm currently in the beginning stages of working with the iTunes U Web Service API, and I'm running into an issue.
Step 2 of uploading a web services document (pg 50 of the admin guide) says to request an upload URL. The base URL for this request:
https://deimos.apple.com/WebObjects/Core.woa/API/GetUploadURL
doesn't seem to be valid. I am receiving 404 errors:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>404 Not Found</title>
<meta name="generator" content="Indigo">
</head>
<body>
Not Found
The requested URL /WebObjects/Core.woa/API/GetUploadURL was not found on this server.
</body>
</html>
I've tried added the identifier path but still no luck. Just to be clear, I am generating and sending a proper authorization token; the issue is that the destination URL seems to be invalid.
Have the API URLs changed or am I missing something?
ThanksHi Chris,
A couple of things ...
First is that you want to read page 54 of latest admin guide.
Nextly, the basic way to access the API hasn't changed ... Apple has changed the XSD and the specifics of the API itself ... but not the way you call it. That's been pretty steady since I've been messing with it.
The base URL should look like this:
https://deimos.apple.com/WebObjects/Core.woa/API/GetUploadURL/your-university.ed u.111.222.333
"111.222.333" is called a "handle" and it uniquely specifies a resource (track, cover image, etc.) within iTunes U. "111.222" is a path to the resource "333".
After the base URL, you have to add the same kind of token string that you would for "Browsing" iTunes U ... that is a string in the form ...
credentials=foo&identity=user&time=123456&signature =abc123abc&type=XMLControlFile
A question mark "?" separates the base URL from the token string. Whatever you do, do -not- forget the type=XMLControlFile! The manual does not emphasize that you need to add this token, but you must to use the API. -
Issue while Calling Rights Management LifeCycle Server web service to apply policies to a pdf
Hi,
I am trying to apply a policy to a pdf using MTOM LifeCycle server web service API. Currently the server is using the https protocol. I followed the below links for this.
Adobe LiveCycle * Applying Policies to PDF Documents
Adobe LiveCycle * Quick Start (MTOM): Applying a policy to a PDF document using the web service API
I changed the IP address in the URL while adding the reference and creating the endpoint. But I am receiving the below error message.
The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via.
can someone please help.
Thanks,
NikhilBelow is the c# code and config files.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using ConsoleApplication1.ServiceReference1;
namespace ConsoleApplication1
class Program
static void Main(string[] args)
try
//Create a RightsManagementServiceClient object
RightsManagementServiceClient rmClient = new RightsManagementServiceClient();
rmClient.Endpoint.Address = new System.ServiceModel.EndpointAddress("https://IPAddressofSite/soap/services/RightsManagementService?blob=mtom");
//Enable BASIC HTTP authentication
BasicHttpBinding b = (BasicHttpBinding)rmClient.Endpoint.Binding;
b.MessageEncoding = WSMessageEncoding.Mtom;
rmClient.ClientCredentials.UserName.UserName = "********";
rmClient.ClientCredentials.UserName.Password = "*********";
b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
//b.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
b.Security.Mode = BasicHttpSecurityMode.Transport;
//Create a BLOB that represents the PDF document
//to which a policy is applied
BLOB inDoc = new BLOB();
//Reference the PDF document to which a policy is applied
string inputFileName = @"P:\PDF\TextToPDf.pdf";
FileStream fs = new FileStream(inputFileName, FileMode.Open);
//Get the length of the file stream
int len = (int)fs.Length;
byte[] ByteArray = new byte[len];
//Populate the byte array with the contents of the FileStream object
fs.Read(ByteArray, 0, len);
inDoc.MTOM = ByteArray;
//Prepare output parameters
string PolicyID;
string DocumentID;
string MimeType;
SetCertificatePolicy();
//Apply a policy to a PDF document named Loan.pdf
BLOB outDoc = rmClient.protectDocument(
inDoc,
"TextToPDf.pdf",
"Test Policy Set",
"Test Policy 1",
null,
null,
ConsoleApplication1.ServiceReference1.RMLocale.en,
out PolicyID,
out DocumentID,
out MimeType);
//Populate a byte array with the contents of the BLOB
byte[] outByteArray = outDoc.MTOM;
//Create a new file containing the policy-protected PDF document
string FILE_NAME = @"P:\PDF\PolicyProtectedLoanDoc.pdf";
FileStream fs2 = new FileStream(FILE_NAME, FileMode.OpenOrCreate);
BinaryWriter w = new BinaryWriter(fs2);
w.Write(outByteArray);
w.Close();
fs2.Close();
catch (Exception ee)
Console.WriteLine(ee.Message);
Console.ReadKey();
/// <summary>
/// Sets the cert policy.
/// </summary>
public static void SetCertificatePolicy()
ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;
/// <summary>
/// Remotes the certificate validate.
/// </summary>
private static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
// trust any certificate!!!
System.Console.WriteLine("Warning, trust any certificate");
return true;
web.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="RightsManagementServiceSoapBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="AXIS" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<binding name="RightsManagementServiceSoapBinding1" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://IPAddressofSite/soap/services/RightsManagementService"
binding="basicHttpBinding" bindingConfiguration="RightsManagementServiceSoapBinding"
contract="ServiceReference1.RightsManagementService" name="RightsManagementService" />
</client>
</system.serviceModel>
</configuration> -
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. -
I have some questiones about Content Viewer for Web, regardind how it works...
(1) Does it work only for social sharing?
(2) Is this available for both Professional and Enterprise Edition?
(3) Does it allow me to share a whole magazine in a desktop browser?
Thanks for the help.
ClarissaThank you Bob. Seems to be pretty good. I don't have the iPad with me right now to compare it, but for what I remember from DPS Tips it is quite same regarding UX with "clicking" (not tapping).
I have another question regarding Himanshu second answer in this original post:
(2) Is this available for both Professional and Enterprise Edition?
Yes, Enterprise edition users have additnal capability of integrating Direct Entitlement.
I didn't get it. What does "Direct Entitlement" mean? -
Building client proxies for web services with SOAP attachemtns
Hi all.
I'm currently building a series of web services that take SOAP attachments as
input, but I am unable to generate the java proxies for testing the services via
WebLogic Workshop 8.1. When I attempt to build the proxy, I get the following
error:
Warning: Failed to generate client proxy from WSDL definition for this service.
Suggestion: Please verify the <types> section of the WSDL.
Is there something I need to alter to get this to work, or does workshop not support
client proxies for web services with DataHandler parameters?
Thanks.
-BrianThanks for the help. This is my first web service with SOAP attachments, so it
may have been a long time till I realized that.
-Brian
"Michael Wooten" <[email protected]> wrote:
>
Thanks Brian,
The problem is that you are trying to use the "document" soap-style :-)
If you change this to "rpc", you'll should be able to successfully generate
the
client proxy jar. The soap-style property, is at the bottom of the "protocol"
property sheet section, for the JWS.
Regards,
Mike Wooten
"Brian McLoughlin" <[email protected]> wrote:
Sure, sorry about that. Attached is the wsdl for a sample web service
I created
just to test the proxy generation.
"Michael Wooten" <[email protected]> wrote:
Hi Brian,
Would it be possible for you to post the WSDL, so we can see what might
be causing
the problem?
Regards,
Mike Wooten
"Brian McLoughlin" <[email protected]> wrote:
Hi all.
I'm currently building a series of web services that take SOAP attachments
as
input, but I am unable to generate the java proxies for testing theservices
via
WebLogic Workshop 8.1. When I attempt to build the proxy, I get the
following
error:
Warning: Failed to generate client proxy from WSDL definition for
this
service.
Suggestion: Please verify the <types> section of the WSDL.
Is there something I need to alter to get this to work, or does workshop
not support
client proxies for web services with DataHandler parameters?
Thanks.
-Brian
Maybe you are looking for
-
Apps don't work after installing iOS5
I just upgraded to iOs5 on my iPad 2. Since then several apps cannot be opened: iBooks, Skype, Quick Office, Dropbox, Agenda and Simplenote. Any suggestions as to what can be done about it?
-
I have an early 2008 iMac running iOs 10.5.8.It has a 2.8 Ghz Intel Core 2 Duo. I need to upgrade to at least iOs 10.6 Snow Leopard in order to install the driver for a new HP OfficeJetPro 8610 printer. Which version of 10.6 would be the best for thi
-
Skype can't detect sound card, issue with playback...
Hello I have just received my Razer kraken 7.1 headset and have installed razer synapse 2.0. I have set up my mic and speakers of the headset through the control panel, my playback is set as the razer kraken 7.1 earphone and the mic is set as the hea
-
Preview issue (native and embedded via Safari) wth cut-paste and nested curly braces
Environment: OS X 10.6.8 Preview 5.0.3 (504.1) Updates: current as of 0800 CDT 24 Jul 2011 -- updates issued on 24 Jul 2011 are being applied but the changelog(s) do not mention this issue Any PDF document containing code fr
-
Maximum line items that RFQ can have?
Hello folks, Can anyone provide information on how many line items we can have in RFQ? I have a scenario with 10K line items.Any inputs on how it can be customized or if anyone has faced such a situation and has a workaround? Regards Sanjeev