WSDL2.0 Niet Valide?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
Halloo,

Ik ben op het moment voor mijn werk bezig met een webservice, deze is al live gezet, en onze eigen website gebruikt (via PHP) ook die webservice.
Het is een webservice voor een postcode check, en zoals gezegd: mijn PHP implementatie slikt alles keurig.

Nou hebben we een klant, die in .net iets wil gaan proberen.
Allereerst vertelde hij me dat .net blijkbaar niet om kan gaan met WSDL2.0, maar omdat dit mijn eerst WSDL klus is, blijken er nog de nodige fouten in de WSDL te zitten. Ik heb alleen geen idee hoe ik ze moet oplossen..

De wsdl is hier te vinden.

Is er hier iemand met WSDL kennis die weet waarom deze WSDL zo finaal fout gaat?
Als ik hem bijvoorbeeld in een SoapClient-tester gooi, vraagt ie ook 2x om username,password,postcode&nummer... Tevens zie ik dat de eigen php implementatie ook een (leeg) element <request_header/> in de body gooit.

Groetjes,
Niek

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
In de eerste plaats moet je <types> tag volgens mij <wsdl:types> zijn, eclipse snapt niks van je huidige WSDL. Daarnaast klopt AFAIK de [] notatie die je gebruikt om een array aan te geven niet, dit doe je normaal met de min/maxoccurs. Verder zit er iets mis met je namespaces want ook met die types gefixt kan ik er nog geen kaas van maken.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 17:16
Visual Studio geeft twee fouten:

The 'name' attribute cannot be present
Dit bij alle xsd:complextypes.

Namespace 'http://schemas.xmlsoap.org/wsdl/' is not available to be referenced in this schema.
Dit bij alle xsd:elements.

Volgens mij hoef je name in je complextype alleen te gebruiken als je meerdere keren wil verwijzen naar hetzelfde element. Dus niet als je het element alleen in een xsd:element gebruikt. De andere melding kan ik zo snel even niet achterhalen.

Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
De [] notatie voor Arrays was voor mij ook een heel geklus om uit te zoeken. na veel zoeken op internet had ik gevonden dat het dus met die [] notatie moest, maar nu jij verteld over min/maxoccurs denk ik "tuurlijk"... Waarom die betreffende website iets ander zei, weet ik dan weer niet.

NetBeans lijkt mijn WSDL wel te snappen, tenminste, krijg geen rare meldingen bij het parsen. Als ik hem valideer krijg ik wel een stapel fouten maar die begrijp ik allemaal niet echt... Ik ga aan de slag!

Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
.net kan blijkbaar niet omgaan met WSDL2.0, en omdat ik toch mijn WSDL moet her-ontwikkelen ga ik het daarom doen in een lagere versie.
Zijn er problemen met een lagere WSDL versie (1.1), in combinatie met het doel wat ik heb? (arrays)

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
In WSLD 1.x gebruik je gewoon min en maxoccurs voor arrays. Alleen ff opletten als je bytearrays wilt gebruiken, daar moet je het base64 type voor gebruiken omdat je anders per byte een XML tag aan gaat maken in je berichten 8)7

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
niet lachen, wat is een bytearray ? :P

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Een array waar bytes in staan. Als je een binair bestand wil verzenden (zoals een plaatje), kun je dit met een bytearray doen. Iedere byte van het bestand zet je dan in die array, en dat verstuur je zo.

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
Hoi,

Als ik deze WSDL probeer: http://www.signet.nl/webservice.wsdl
Dan:
http://soapclient.com/SoapTest.html geeft me 2x een input mogelijkheid (als je kijkt snap je waarschijnlijk wel wat ik bedoel).


En:
PHP geeft de melding:
SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: No address associated with <port> in /var/www/webservice/client.php:13
Dat zegt eigenlijk dat ik geen adres opgeef van de webservice? Maar heb toch echt een <Service> gedeelte, met daar ook een soap:address gedeelte in...

Kan iemand me hier mee helpen?
De Service Address is nu even localhost, omdat ik lokaal test. Ik kan ook nog geen werkende webservice hierbij leveren; want de WSDL klopt nog niet.

Update: Het eerste probleem heb ik zelf al kunnen oplossen; maar kan nog steeds niet vinden waarom PHP het niet slikt.
Update 2: Heb al gekeken naar cache's, dat is het probleem dus ook al niet.
Update 3: De validator van NetBeans geeft trouwens geen fouten.

[ Voor 16% gewijzigd door Niekk op 06-04-2010 09:21 ]


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
Kleine bump?

Acties:
  • 0 Henk 'm!

  • stappel_
  • Registratie: Augustus 2000
  • Laatst online: 11:32
misschien omdat je portType en binding en service dezelfde naam hebben.
verander eens
===> <portType name="wsPortType">
===> <binding type="tns:wsPortType" name="bwp">
en de service niet.

Ubero: #2, Euler: #1, GOT: #1, Des: #1, Zeta: #1, Eon: #3, OGR-24: #3, OGR-25: #7,
LM: #7, AP: #5, DF: #19, D2OL: #37, SOB: #50, TSC: #63, RC5: #96


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
Heb nu de namen wat "beter" genoemd, maar dit lost het probleem nog steeds niet op...
http://www.signet.nl/webservice.wsdl

Acties:
  • 0 Henk 'm!

  • stappel_
  • Registratie: Augustus 2000
  • Laatst online: 11:32
andere header zal je een volgende error geven ;)
XML:
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:tns="urn:signet" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    targetNamespace="urn:signet">

[ Voor 4% gewijzigd door stappel_ op 06-04-2010 14:40 ]

Ubero: #2, Euler: #1, GOT: #1, Des: #1, Zeta: #1, Eon: #3, OGR-24: #3, OGR-25: #7,
LM: #7, AP: #5, DF: #19, D2OL: #37, SOB: #50, TSC: #63, RC5: #96


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
Ja! Dat heeft het probleem opgelost! :)

Hierdoor kwamen andere foutmeldingen boven drijven, die ik nu met behulp van netbeans' validator heb kunnen fixen.

Maar:
http://soapclient.com/soa...service.wsdl&_ArraySize=2

Die geeft nu weer het resultaat van 2x dezelfde input geven? Hoe is dit op te lossen ? (lijkt me niet correct)

De WSDL kan nu gevonden worden op: https://services.signet.nl/webservice.wsdl

[ Voor 161% gewijzigd door Niekk op 06-04-2010 17:04 ]


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
kleine bump?

Acties:
  • 0 Henk 'm!

  • stappel_
  • Registratie: Augustus 2000
  • Laatst online: 11:32
misschien een foutje met de soapclient tool?
Heb je ook al gewoon geprobeerd de wsdl te gebruiken.

Ubero: #2, Euler: #1, GOT: #1, Des: #1, Zeta: #1, Eon: #3, OGR-24: #3, OGR-25: #7,
LM: #7, AP: #5, DF: #19, D2OL: #37, SOB: #50, TSC: #63, RC5: #96


Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
ja, dat gaat wel gewoon goed! :)

Acties:
  • 0 Henk 'm!

  • Niekk
  • Registratie: September 2007
  • Laatst online: 12-04-2021

Niekk

Human-readable is relatief

Topicstarter
Nou wil weer iemand mijn nieuwe WSDL gaan gebruiken met .NET.. en het geluk is blijkbaar weer niet aan mijn kant.
mijn WSDL: https://services.signet.nl/webservice.wsdl

Deze persoon geeft aan dat de operation niet zichtbaar is, en dat hij ook geen parameters type heeft in .NET (ik weet niet hoe dat werkt in .NET omdat ik geen .NET gebruik).

Echter, deze WSDL: http://my.eurofiber.com/ws/wsdl werkt bij hem wel. Deze WSDL lijkt sterk op mijn WSDL.

Maar.. Welke verschillen zorgen er nou voor dat .NET het niet slikt ( en PHP wel trouwens, en validators valideren mijn WSDL ook prima )
Pagina: 1