Austin Derck

Greenhorn
+ Follow
since Jun 02, 2006
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Austin Derck

Hello hello,

I just recently overcame this problem myself, it's quite easy once you know how to do it.

A basic .NET service is going to look something like this:
//put attachment on context

So basically all your service is doing is adding the attachment right on to the response context. Therefore, all you need to do in the client is grab that response context and pull the attachments off of it.

Here's what a simple Java client would look like (Axis 1.4):


Then just go through your iterator and cast your attachments as necessary
18 years ago
I've come so far with this project I can't bear to give up on it now, there's just one little snag that's left in my path and I can't figure my own way around it. If anyone could please help me with examples or point me to some, that would be fantastic!

I'm making a web service with the main purpose of sending and receiving extremely large image files (high resolution telescopic pictures of galaxies, etc.). It's very important that this service be interoperable, so as such I've been confined to using DIME formatted attachments since both Axis and .NET supports them.

Where I'm at now:
The service is running in .NET and is capable of both sending and receiving the large image files. As some of you may or may not know, DIME has a built in limit of 4096KB. It's easy enough to override this on the server side by just modifying the web.config and throwing in whatever size you want. The same goes with a .NET client, which I also have running and is capable of sending and receiving the large image files. Again, I just modified the app.config with a bigger number. The problem arises with the Java client, which, oddly enough, seems perfectly capable of receiving the large image files, but unable to send them. Whenever I try I am just presented with a 400 Bad Request error.

Where I need to be:
Ideally we'd like to have the service running on a Linux server since we're already well equipped to handle that. Mono is out of the question because it doesn't have support for WSE2 and therefore, no attachments. Therefore I need to get a Java service going, but I need a way to get around the 4096KB limit. Otherwise, pretty much all I'll be able to do is have the Java service receive files from the C# client since it can't send any out or receive from the Java client which will also be incapable of sending.

Perhaps that was a bit more than you needed to know, but here's
The Big Question
How can I send DIME attachments from Axis that are greater than 4096KB? Is it somehow, somewhere possible to override this built in max length? I've seen things about chunking, but that presents two more problems 1) I don't know how to do it (can anyone give examples or point me to a tutorial?) and 2) it's my understanding that all that chunking does is break up a file into several small attachments and append them to the same SOAP message. If that's the case, the 4096KB limit is applicable to the entire message, SOAP and all attachments, so it'd be no good.

As an alternative, we've been considering MTOM. Our main concern with that though is that MTOM requires Axis 2.0 and .NET 2.0 with WSE3. Our target audience is very limited (pretty much other astronomers who are interested in programming their own clients to utilize our service) and the higher we set the standards for use, the more we may scare them away. Afterall, Axis 2.0 has only formally been out not even a month or so now I think. But all that aside, are there many out there that feel it would be much better to just go ahead with MTOM for simplicity's sake and the fact that it's the new and upcoming standard?
18 years ago