Win a copy of Getting started with Java on the Raspberry Pi this week in the Raspberry Pi forum!

Paul Santa Maria

Ranch Hand
+ Follow
since Feb 24, 2004
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Paul Santa Maria

Hi -

I'm writing a Java webservice client that will be running on WebSphere. I created a new "Web Service Client" project in RAD Developer, gave it my WSDL, specified "Top down Java Bean", and it autogenerated a bunch of files.

One of the operations is "GetAddressData". RAD Developer auto-generated "" and "", both annotated with "XmlRootElement".

One of the arguments in "GetAddressData" is "RequestData", a simple object consisting of four strings: worfklow, module, username, and id. RAD Developer generated a "" for me too.

Q: Is there any way that I can substitute raw XML for the JAXB "RequestData" object, instead of packing and unpacking the record a field at a time?

I tried something like this:

But I keep getting:

Any help would be deeply appreciated! Thank you in advance.

10 years ago
Hi -

1. I've got the WSDL for a SOAP web service

2. I created a "Top down, Java Bean" web service client in RAD Developer (an Eclipse based compiler used with IBM Websphere) and auto-generated a bunch of JAX-WS .java modules

3. Here is the auto-generated JAX-WS code for one of the operations:



* "transactionData" comes from a large, complex XML data record. The WSDL format exactly matches the XML I'll be writing on the Java side, and exactly matches what the Web service will be reading on the server side.

* Q: How do I bypass Java serialization for the "transactionData" parameter, to send raw XML directly in my SOAP message? Instead of having to read my XML, parse it, and pack the Java "TransactionType" structure field-by-field?

Thank you in advance!
10 years ago
You're probably better served by learning one or more SDK's that take full advantage of your hardware, rather than delving down to the hardware level itself. Two excellent candidates:

* DirectX (Windows):

* OpenGL (Linux, Mac, Android, etc):

If you *must* implement your graphics directly in video memory, you should look at the Linux framebuffer:
12 years ago
I completely disagree:

C++ has more features, but it is simpler than C. You don't need to teach all C++ stuff from the start, and you can do almost anything in a C style.

This is exactly *why* I disagree:

the body of knowledge required to learn and use C++ well is not trivial at all.
Any attempt to teach some stripped-down, C-like "lite" C++ version is a terrible disservice to anyone trying to learn that powerful and complex language.

I do agree that Python or Java would be good choices.

I would argue that Pascal or Ada would also be good choices.

12 years ago

At Google, python is one of the 3 "official languages" alongside with C++ and Java. Official here means that Googlers are allowed to deploy these languages to production services. (Internally Google people use many technologies including PHP, C#, Ruby and Perl).

It's also worth noting that Guido van Rossum, the inventor of Python, works for Google.

And yes, he was tested on Python just like all other applicants
12 years ago
Thank you both! I was deliberately being contrarian - but I honestly think there's at least a kernel of truth in what I was suggesting.

Campbell Ritchie -
I wasn't saying Javascript is equivalent to C++ as a language. But I *am* saying that the number of people writing Javascript for some task or another probably exceeds the number of developers working in C++. Much like the number of people (most of whom would NOT consider themselves "developers") writing VB scripts or Lotus-123 macros 20 years ago.

Luis Espinal -

How would you write an operating system with any of these? Or a compiler? Or a database engine? You are conflating application development (and very high-level application development) with systems development.

I'd much rather use C

I believe that C (in contrast to C++) *does* continue to have a long and thriving future.

It's interesting to look at the Tiobe index. Which, by the way, has always - and continues - to give C++ very high marks:
12 years ago
I don't think there's any question that C++ was a dominant force throughout the MS Windows era of the 1990's and early 2000's.

But with Java/J2EE entrenched in the enterprise, so much work being done in C#/.Net instead of C++ for Windows applications, Objective-C and Java dominating the smartphone/tablet space, and Javascript everywhere imaginable...

... do you think there's any place left for a language for a language where you can inadvertently wreak havoc if you forget to write a copy constructor when you use a list, or forget to create a virtual destructor for a derived class, or a million other subtleties that so many developers don't even have a clue about?

Just asking if you think *other* languages, like Objective-C, Javascript or - yes, Java - might be nudging C++ toward irrelevance.
12 years ago
Hi -

I'd like to learn one or more functional languages, and Clojure looks interesting.

What's new/different in the "Clojure in Action", vs. other well-regarded Clojure books (like Stuart Halloway's "Programming Clojure", for example)?

Thank you in advance
12 years ago
Shell is an absolute "must know".

You should also be familiar with the differences between bash (which has all the bells and whistles, but is Linux specific) and the Korn shell (universal to just about all *nix OS's, a subset of bash).

Second scripting language? A toss-up between Perl and Python. "Python" is a toss-up between Python 2 (currently the most prevalent) and Python 3.

Ruby is a good language; it's popular with "Ruby-on-Rails" web applications. Similarly, PHP is most commonly used in PHP web apps.

12 years ago
I hate to say it, but I honestly think your best bet is to set up your environment so that you can use something like vncserver to debug locally.

At a minimum, you might need to copy your source locally. At which point you should be able to use jdb "-sourcepath xyz:abc:123".

Some of these links might help:



12 years ago
Hi -

Q: is there any protocol or technology that supports both remote calls and also XML data exchange between the process?

A: You mean like SOAP ?

At a minimum, you definitely want to look at Xerces (if you're not already familiar with it):

At a somewhat higher level, Axis can be your friend:

Finally, there are alternatives to SOAP. For example, you might consider "RESTful Webservices for Java (JAX-RS):

12 years ago
Strong suggestion: store the FILEPATH of your image in the database. Keep the image itself on your hard drive.
Hi -

Ask your question a different way. Besides reading links describing how the Java heap is allocated, and how allocated objects are partitioned for later garbage collection, perhaps the BEST way to determine what's going on is to LOOK at your actual application and SEE which part of the heap things are winding up. For example:

jmap -permstat MYPID

Here's a good article you're probably already familiar with:

Here are some good, practical tips that might also be of interest:

But above all - if you don't already have JConsole and you're not already profiling your app with it - then start!

13 years ago
Hi -

A "web server" is anything that responds to HTTP requests; ie. anything that serves web pages. Apache, Apache/Tomcat, IIS and JBoss/Tomcat are all examples of web servers.

A "web container" is a web-based, runtime environment to support J2EE components. Just as a "servlet container" (such as provided by Tomcat) is a runtime environment for Java servlets.

Having a "web container" implies having a "web server". But a "web server" need not have anything to do with web containers.

Or, more simply:

A Web application runs within a Web container of a Web server.

'Hope that helps .. PSM
13 years ago