• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Content Server 4 help

New Here ,
Oct 10, 2008 Oct 10, 2008

Copy link to clipboard

Copied

I have been charged with the task up setting up the Content Server 4 for the company I work for so we can try it out during the test period to see if it is something we want to purchase. There is a week left of our pre-release trial and I'm completely lost!

I've managed to get all three of the status checks to give me all green check marks, but I really have no idea where to go next to even use the program. I haven't been able to log in to the admin console either. I had to contact support to get the build.xml file needed to build the UploadTest-1_1.jar file that the user guide said was included, but wasn't. I don't know how to work that either. The command that support gave me just results in errors. I know very little about Java.

The user guide seems to give a good explanation of how the program works, but in my opinion doesn't explain how to actually use the program (some of the setup was a bit confusing as well). I don't know where to start to make it do what it is supposed to do.

If anyone has any hints for me I would greatly appreciate them. Thanks!

MySQL 5.0.67
MySQL Connector Java 5.1.6
Apache Tomcat 6.0.18
JDK 6u3
Windows XP sp3

Views

24.8K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 16, 2008 Oct 16, 2008

Copy link to clipboard

Copied

I totally relate to your problems since they are all exactly the same ones I have encountered and continue to encounter. Installation was much more challenging than it need to be and after I was done I was left thinking, "How do I use this?"

Your assessment of the user's guide is kind. I find it badly organized and outright misleading. The specific references to deliverables (the conf files and the uploader jar) which are absolutely NOT delivered in the current bundle are an outrageous time-waster. Why not just take two seconds and bundle them into the distributed zip?

Key parts of the installation are broken up into distant sections of the guide, like the license info that needs to be included in the conf files, which are "covered" much earlier in the document. The status checks will absolutely fail if you only follow instructions up to the point they tell you to run them.

You couldn't log into the admin console? No surprise. That's because the default password, park345, is not supplied in the user manual or anywhere else. I had to ask. That was another lost 24 hours. Frankly it doesn't matter, though, because there will be nothing in the admin console until you manage to get some books in there. You thought maybe you could add PDFs that way? Me too. It would make sense wouldn't it? Sorry, but no.

The jar file that Adobe refers to, but does not supply, supposedly allows you to do that, though I have not gotten it to work.

The syntax for it, since Adobe does not bother to provide any full, real world examples, is:
java -jar UploadTest-1_1.jar http://yourdomain/packaging/Package /localpath/your.pdf.

You can pass flags to indicate the presence of things like an XML file that controls the permissions or a thumbnail, e.g.
java -jar UploadTest-1_1.jar http://yourdomain/packaging/Package /localpath/raw.pdf -xml -jpg

You don't tell it the name of the XML or jpg. You are supposed to use identical filenames and locations as the PDF or Epub.

Even though I figured all that out I still get an error when I run the thing:
There was an error with the Package Request


It means nothing to me and the logs don't help. Maybe someone reading this can kindly tell me what to do since the manual leaves me nowhere and I am still waiting for email support on this issue.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 16, 2008 Oct 16, 2008

Copy link to clipboard

Copied

I also got to that point with the ...MISSING_ELEMENT error, and got an email from support with the solution. You are missing the admin operator password from the command...

java -jar UploadTest-1_1.jar http://yourdomain/packaging/Package /localpath/raw.pdf -pass yourpassword -xml -jpg

This is the same password that gets you in to the admin console. Mine now has some books in it! Now I just need to figure out how to get the download URL built. I got the sample store PHP stuff running with my sample book list, but none of my download links want to work. I get a "E_LIC_WRONG_OPERATOR_KEY" error. I don't know anything about PHP so I don't know if it's the sample store not working with my system or if I have something set up wrong.

Also, I had an issue with getting an error when logging in on the operatorClient.jar after trying to create a second certificate. Support told me that the did find a bug, and emailed me a new version of operatorClient.jar.

After reading through the user guide several more times...you are right. It isn't as good and I had originally thought.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 16, 2008 Oct 16, 2008

Copy link to clipboard

Copied

Wow. It actually worked. Thanks for the tip.

So not only do they NOT supply a crucial piece of helper software that gets a large amount of attention in the manual, they actually neglect to include a critical part of that software's instructions. There is no mention of the -pass flag at all. I'm not even surprised anymore.

And couldn't they have done just a little bit of error catching so that it says, "Needs password" or some such?

So, on to the store portion of the system. I am sure I will have as little luck as you but if I make any progress I will post it here.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 20, 2008 Oct 20, 2008

Copy link to clipboard

Copied

Follow Up: As I predicted the store did not function and I got EXACTLY the same error message as you.

Guess why. Because the instructions were wrong, again.

I finally heard back from support about this problem. There is a line in the fulfillment config file that should look like this:
com.adobe.adept.serviceURL=http://yourdomain.com/fulfillment

Instead the user's guide (section 4.5.5.) shows it this way:
com.adobe.adept.serviceURL = http://.../fulfillment

Note the spaces between the equals sign. These are not allowed. Section 4.5.6 has an identical mistyped line for the packaging server, though this had no apparent effect. I wonder if the line is even necessary for the packaging server. You have to wonder why the status check worked, don't you?

Once I corrected this line I had a fully functioning ACS4 system.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 20, 2008 Oct 20, 2008

Copy link to clipboard

Copied

Thank you! That seems to have mine working now as well.

Now to get it integrated into our system and set up to go live. Hopefully it's easier the second time around. :)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 21, 2008 Oct 21, 2008

Copy link to clipboard

Copied

I came up with another question regarding the UploadTest deal. The books sent through this tool go into the Content Server under the Operator Inventory. I had to move the books into a Distributor's invetory in order to serve them. Is there a flag for the UploadTest that will specify a Distributor, or do they need to be moved by hand? Having to pick through the All Items for new files would be a pain.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 22, 2008 Oct 22, 2008

Copy link to clipboard

Copied

Apparently the whole GBLink generating the download link thing in the user guide is something that ACS3 did. ACS4 doesn't do that (even though the user guide says it does)...we have to "study and copy the PHP code in the store to provide this functionality".

I've been trying to do this with C#.NET. My signature-creating functions seem to be OK (they passed my tests), but my links always give me the error...

error data="E_ADEPT_URL_SIGNATURE_ERR http://192.168.3.162:8080/fulfillment/URLLink.acsm GBLINK_AUTH_SIGNATURE_NOMATCH"/

...so there is something not right in my string somewhere.

I found another issue when switching from MySQL to MS SQL Server. When the user guide says you can use 'MS SQL Server', it really means 'MS SQL Server 2005 or higher'. One of the tables has a column that is type varbinary(max), which SQL Server 2000 can't do.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 23, 2008 Oct 23, 2008

Copy link to clipboard

Copied

Hi,<br /><br />I like Brandon, have also been tasked with setting up a test environment for acs4. Using the user manual as a guide, I have run into numerous obstacles and am having difficulties in getting this up and running.<br /><br />I have amended the config.xml page for the sample store so that it contains details got from the Admin Console e.g. the id & shared secret. when i click on download in the sample store, i too get the following error message:<br /> <error xmlns="http://ns.adobe.com/adept" data="E_ADEPT_URL_SIGNATURE_ERR http://covmphpdev:8080/fulfillment/URLLink.acsm GBLINK_AUTH_SIGNATURE_NOMATCH" /> <br /><br />Can I ask you both......<br />1. How you got the UploadTest-1_1.zip working? <br />2. Where do you run the command: java -jar UploadTest-1_1.jar http://yourdomain/packaging/Package /localpath/raw.pdf -pass yourpassword -xml -jpg , is it in cygwin tool? <br />3. How do you get a list of books/items displaying in the Admin Console?<br /><br />Any help would be great.<br /><br />thanks,<br /><br />karnesh

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 23, 2008 Oct 23, 2008

Copy link to clipboard

Copied

For UploadTest-1_1, I first had to get a file from support called build.xml, then download some program from Apache called Ant which used build.xml to actually build the UploadTest-1_1.jar file. It also builds a couple other .jar files that I haven't really checked out yet.

The command can be run from the command prompt as you have it above, with all of the proper details of course.

NOTE: Make sure you go through the ACS4 configuration files and remove any spaces around the = signs, as Andrew pointed out in a previous post.

At this point if you have everything set up right, the UploadTest-1_1.jar command should load the books into ACS4 and you will be able to see them in the Admin console.

Here you must also create a new Distributor in the admin console, and move the books to that distributor's inventory in order to serve them. (I'm still looking for a more efficient way to do this as books are being uploaded.)

Once you have an inventory for a Distributor, you can export a books.xml and config.xml file from within the console (the "Export Sample Site" button). Replace the two files with these names in the sample store with the new ones you exported. If all goes well you should now be able to download the books you 'buy' from the sample store.

My problem with the GBLINK_AUTH_SIGNATURE_NOMATCH error was because I wasn't decoding the shared secret in my program, which the sample store does, I just missed that part the first time I looked through it. The shared secret is Base64-encoded, and must be decoded before it can be used in the hmac-sha1 encryption.

Some of this stuff is very new to me so hopefully I am at least making a little sense and not missing some critical detail. :)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 24, 2008 Oct 24, 2008

Copy link to clipboard

Copied

Hi Brandon,

Thanks for the information, I have emailed Adobe for the build.xml file so that I can make use of the UploadTest-1_1.zip tool and finally get the sample store working.

It took us a while also to indentify that spaces in config files caused problems.

Again thanks for updating this forum, is proving to be a valuable source of information for us here in the UK.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 27, 2008 Oct 27, 2008

Copy link to clipboard

Copied

I think I found an inconsistency in the DistribTool.java file.

Towards the beginning it is talking about the XML file that this tool needs and says...

*
  • serverURL = Contains the full URL to the fulfillment server. The
    * server URL must point to the ManageDistributionRights API.
    * ( http://##YOUR_SERVER##/fulfillment/ManageDistributionRights)
    *


  • This wouldn't work for me...I kept getting an error. I looked just a little farther down in the DistribTool.java file and found the example that contains the line...

    * <serverURL>http://your.fulfillment.server.com/admin/ManageDistributionRights</serverURL>

    So, it appears that the ManageDistributionRights API is part of the admin webapp, NOT fulfillment. Unless I was reading that wrong. But it works fine for me now using the 2nd example.

    On a site note, I did discover that the UploadTool.java file DOES mention the -pass flag that the user guide failed to mention.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 30, 2008 Oct 30, 2008

Copy link to clipboard

Copied

well guys thanks for the useful information .. but anyone try to re-code GBLink generation in C# i need some help with that

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 03, 2008 Nov 03, 2008

Copy link to clipboard

Copied

Brandon,

Would you be willing to post or make your .NET fulfilment link code available?

You say "apparently" using GBLink was the old ACS3 way of generating links (and I'd hate to use an ActiveX) but where did that information come from? I'm at the distributor end of things and it's hard to get technical details on best practices, just the "most common" architectre in the documentation. However nowhere can I find details of alternative approaches.

Thanks,

Steve.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 03, 2008 Nov 03, 2008

Copy link to clipboard

Copied

This is how I understand it. The user guide says that there are certain values in the download link that are generated by the Adobe GBLink service. I am new to Content Server so I don't know how ACS3 works. What I wasn't clear about was that the user guide meant that the ACS3 GBLink did this, but ACS4 does not. It does recognize the use of the same format just so existing systems can be upgraded to ACS4 and still work. Support told me that I had to study the sample store php code to figure out how to do it myself.

I whipped up a quick little C# program to figure out what data I needed and what I needed to do with that data to generate the link just so I could test our server. Most of the link is pretty straightforward, it was coming up with the proper signature to attach to the end of the link that was a little tricky for me. PHP did this with ease in the sample store, but C# needed a little more to get it right.

I picked apart one of the links generated by the sample store, Googled a couple of the PHP functions used, and Googled how to do the whole HMAC-SHA1 thing and I eventually got it working. Just remember that the Distributor's shared secret is Base64-encoded. Once I realized I needed to decode that then everything was better.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 03, 2008 Nov 03, 2008

Copy link to clipboard

Copied

You don't fancy sharing your code then? No pressure if you don't want to (I'd check it all anyway) but it would certainly short cut things for us here.

In any event thanks for the reply.

Steve

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 04, 2008 Nov 04, 2008

Copy link to clipboard

Copied

Steve,

I'm using .NET too to generate the GBLink... but it's not quite easy as in PHP code.. anyway I've no luck to make it work but anyway I'm pasting my code maybe it would help you to start implementing yours..

first this is the function that decode the shared secret of the distributor...I've notice that there's extra char of the result of the decoding in .NET code than the result generated in PHP code so i made an extra code to remove this char.. you can remove this part to test it.. i've tested both ways but no luck :(
public static string base64Decode(string data)
{
try
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
System.Text.Decoder utf8Decode = encoder.GetDecoder();

byte[] todecode_byte = Convert.FromBase64String(data);
int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);

string result = new String(decoded_char);

// This part removes extra encoded char from the result those extra char not containing
// in the result of the shared secret decoded in the PHP code. you can remove this part
// and return "result" instead of return "x" and test if ot's works with you
StringBuilder x = new StringBuilder(result);
int removeCount = 0;
for (int i = 0; i < result.ToCharArray().Length;i++ )
{
if (Convert.ToInt32(result.ToCharArray()) == 65533)
{
x.Remove(i-removeCount, 1);
removeCount++;
}
}

return x.ToString();
}
catch (Exception e)
{
throw new Exception("Error in base64Decode" + e.Message);
}
}

other two functions that signs the query string of the GBLink "all the stuff after the '?' mark except the '&auth=' itself" with the decoded key generated by the first function, the other function below convert the hashing result to HEX STRING LOWERCASE format as required:
public static string HashingHmacSha1(string message, string key)
{
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] keyByte = encoding.GetBytes(key);

HMACSHA1 hmacsha1 = new HMACSHA1(keyByte);

byte[] messageBytes = encoding.GetBytes(message);

byte[] hashmessage = hmacsha1.ComputeHash(messageBytes);
return ByteToString(hashmessage);
}

public static string ByteToString(byte[] buff)
{
string sbinary = "";

for (int i = 0; i < buff.Length; i++)
{
sbinary += buff.ToString("X2"); // hex format
}
return (sbinary.ToLower());
}
good luck & have a nice day

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 04, 2008 Nov 04, 2008

Copy link to clipboard

Copied

Thanks Yasser, exactly what problems and errors are you receiving. It might help debug. I'll reply with whatever I discover and a working solution (assuming I get there!).

Steve.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 04, 2008 Nov 04, 2008

Copy link to clipboard

Copied

Steve,
I followed the PHP code and came with same decoded shared secret and the problem is when using that decoded result to hash the query string it gives me different signature than the PHP code gives me so the fulfillment service always return with signature no match error...
in other way to figure out wheres my problem i've passed simple string as a key and the same query string for both signing functions (PHP & .NET) and give me the same signature so i think the problem in the decoding function.. hope this could help you

Yasser

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 04, 2008 Nov 04, 2008

Copy link to clipboard

Copied

To decode the shared secret I just used...

byte[] sharedSecretBytes = Convert.FromBase64String(sharedSecret);

...then passed sharedSecretBytes into my hashing function instead of a string. I think I was passing a string and then getting the bytes in the function originally and it wouldn't work for me that way.

I also used ASCIIEncoding instead of UTF8Encoding.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 04, 2008 Nov 04, 2008

Copy link to clipboard

Copied

Thanks alot Brandon you've saved my day 🙂 it's works this way
Yasser

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 21, 2008 Nov 21, 2008

Copy link to clipboard

Copied

Hi,

Has anyone run into issues with uploading large epub files using the uploadtest tool?

thanks,
karnesh

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 08, 2009 Jan 08, 2009

Copy link to clipboard

Copied

hi <br /><br />I am trying to set adobe content server on my pc to try it , so when i try to pack a pdf using uploadtest-1_1.jar ,I get the following error : Java.io.FileNotFoundException : http://localhost:8080/packaging/package/<br /> at sim/reflect.NativeconstructorAccessorImpl.newInstance0<native Method>...<br /><br />Any help would be great. <br /><br />thanks, <br /><br />Robert

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 14, 2009 Jan 14, 2009

Copy link to clipboard

Copied

Hi Robert,

Can you tell what command you are running?

The help guide is not very clear. The command i would run to upload a single book is:

java -jar -Xmx1024M UploadTest-1_1.jar http://myserver:8080/packaging/Package c:/books/abook.epub -pass myACS4password

Or for many books in a folder

java -Xmx1024M -jar UploadTest-1_1.jar http://myserver:8080/packaging/Package c:/myBookFolder -pass myACS4password

Hope this helps. If you contact Adobe support and ask them to send you some updated documentation. They released a quick start guide which has more info on this.

thanks,

karnesh

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 14, 2009 Jan 14, 2009

Copy link to clipboard

Copied

Dear karnesh , thanks alot for ur response<br /><br />I followed what is written in the quick start guid<br /><br />here is the command that i use:<br />C:\>java -Xmx1024M -jar UploadTest-1_1.jar http://localhost:8080/packaging/package c:\\srcbooks\lepetitprince.pdf -pass myACS4password <br /><br />the result is:<br /><br />Creating package request for: c:\\srcbooks\lepetitprince.pdf<br />Creating connection to Packaging Server: http://localhost:8080/packaging/package<br /><br />Sending Package Request<br />java.io.FileNotFoundException: http://localhost:8080/packaging/package<br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br /><br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)<br /><br /> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)<br /> at java.lang.reflect.Constructor.newInstance(Unknown Source)<br /> at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)<br /> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)<br /> at com.adobe.adept.upload.UploadTest.sendContent(Unknown Source)<br /> at com.adobe.adept.upload.UploadTest.<init>(Unknown Source)<br /> at com.adobe.adept.upload.UploadTest.main(Unknown Source)<br />Caused by: java.io.FileNotFoundException: http://localhost:8080/packaging/package<br /> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)<br /> at java.net.HttpURLConnection.getResponseCode(Unknown Source)<br /> at com.adobe.adept.upload.UploadTest.sendContent(Unknown Source)<br /> ... 2 more<br /><br />Finished!<br />Successful packages created: 0<br />Unsuccessful package attempts:1<br />Here are the files that failed to package:<br /><br />-------------------------------------<br />I am totaly new to java <br />should i have a folder "package" in the packaging folder on apache tomcat server where i deployed the packaging.war?<br />the http://localhost:8080/packaging/statuscheck/ return all true<br />I use windows xp pro with sp3 ? do I need windows server for asc4?<br /><br />Thanks in advanced<br /><br />Robert

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines