• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

WebServices and legacy systems

 
Ranch Hand
Posts: 65
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello,
in my factory we use a legacy system that works as middleware.
It can get htpp requests and through a workflow system interact with other systems, database, servers, etc.
Unfortunately it does not support web services technology.
The system accepts in input xml sent via http-post from caller systems, and convalidate them through a dtd.
We fake webservice on a handmade way: we homebuild a wsdl
and after some tries we refine the dtd construction seeing the xml that arrives from the caller.
The problem is when the number of caller is major than one, because the xml that arrive to the system are slightly different and can violate the dtd.
For instance the header can change, the namespace can be <SOAP-ENV:ENVELOPE> or <soapenv:envelope>
This is enough to break the dtd and cause the system to raise an error
I don't know if I have explained well the problem.
How can we solve this problem? Is it advisable to build a some kind of bridge between "the world" and our system? how?
Any suggestion is welcome.
Thanks in advance
Gianni
 
Ranch Hand
Posts: 2198
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi!
There is a section in the book "Designing Web Services with the J2EE Platform" that may be of interest to you, if you have not already seen it:
http://java.sun.com/blueprints/guidelines/designing_webservices/html/integration6.html#1059700

If the above is not applicable, then:
How are you processing the XML from the incoming requests?
If you are receiving valid XML and use some XML processing framework to process the XML, then I do not see why you should have problems?
Best wishes!
 
gianni ipez
Ranch Hand
Posts: 65
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello,
thank you for the answer and for the link.
the xml is validated through a dtd validator (operation done by the legacy system automatically).
The fact is that we distribute a wsdl to several companies, and we get several xml depending on the system that elaborate the Wsdl.
Some of them are not recognized as valid by the dtd validator.
Hope I have clarified a bit the issue...
Gianni
 
Ivan Krizsan
Ranch Hand
Posts: 2198
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi!
Have you considered using an adapter service in front of the legacy system?
The adapter service would be responsible for accepting requests in all different formats and, if needed, transform them to a format accepted by the legacy system.
Best wishes!
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic