Solved

posting xml to a URL

Posted on 2012-03-13
12
180 Views
Last Modified: 2012-03-24
To post data to a URL, let's say (http://999.99.99.99:9999), does the url need to be concatenated with any addtional syntax or it is as simple as
opening the connection,  setting doOutput to true, and then creating an outputStream
and then writing to it?

Do I need to flush the outputStream too?
0
Comment
Question by:dpalyca755
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 6
12 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 37718181
You need to have some active enitity behind that URL which would read your data - it should be servlet or PHP script or CGI, or something which should be a process ready to accept your data

Then you indeed acn setDoOutput(true), etc. like in this example:

http://www.exampledepot.com/egs/java.net/post.html
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37718189
It usually is more than just address and port because the URL mentions that active entity which accepts your data. I don't think it is an absolute law, I guess you can invenet something to make this script accept your data by deafult on certain address and port, but as a rule after address and port you mention the name of that script which accepts your data, name of servlet or PHP ascript or something like that
0
 

Author Comment

by:dpalyca755
ID: 37718291
If I create a URLConnection and open it, but do not open an outputStream on it yet, will I see activity on the server side socket or is it not until the stream is opened?
0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 
LVL 47

Expert Comment

by:for_yan
ID: 37718300
I am not sure how you mean to see activity on the server side socket until the stream is opened.
0
 

Author Comment

by:dpalyca755
ID: 37718313
If I am polling the socket on the URL's code will something be sent when the line
URLConnection con = url.openConnection(); is invoked, or is nothing sent until
con.getOutputStream() line in executed?
0
 
LVL 47

Assisted Solution

by:for_yan
for_yan earned 500 total points
ID: 37718318
No it does not start communicating until you get stream; read the accepted solution here:
http://stackoverflow.com/questions/39391/does-new-url-openconnection-necessarily-imply-a-post
0
 

Author Comment

by:dpalyca755
ID: 37718339
Ok...so if the connection is refused upon opening the outputStream, a response or exception will be raised as long as the conn.getOutputStream() is in a try block,
or do I also need to open an inputStream to receive the potential reject?
0
 

Author Comment

by:dpalyca755
ID: 37718346
Also: for inputStreams I would expect to see the server side socket get hit once with a GET query, whereas should I expect the outputStream to hit the socket twice, ie.. once with a POST and no data, and the the data from the actual write()?
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37718355
>or do I also need to open an inputStream to receive the potential reject?

I don't think there could be an universal answer to that question.
If you get no response say because you have incorrect address, then it makes no sense to open input stream. If you are rejected by the script in your URL which analyzed the data and prepared some srror message - then maybe inputStream will be necessary

i think it is better to deal with this situation using very concrete example - what kind of URL you are contacting and what you want to achieve. There are many variants of different types and situations of failures and we'll not predict all cases theoretically
0
 

Author Comment

by:dpalyca755
ID: 37718368
I will need to ask the url developer I am working with this question.
When you say "what type of URL"?  What are you asking for exactly?
0
 

Author Comment

by:dpalyca755
ID: 37718374
All I know at this moment is it is a http url to which I want to post XML data to.
0
 
LVL 47

Accepted Solution

by:
for_yan earned 500 total points
ID: 37718383
If I were you I'd try to use the code along the line of this example:
http://www.exampledepot.com/egs/java.net/post.html
and then see what is happening.
If you see the problems then ask the URL developer if it is someone you could contact
0

Featured Post

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

628 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question