{"action":"created","issue":{"url":"https://api.github.com/repos/vpulim/node-soap/issues/541","labels_url":"https://api.github.com/repos/vpulim/node-soap/issues/541/labels{/name}","comments_url":"https://api.github.com/repos/vpulim/node-soap/issues/541/comments","events_url":"https://api.github.com/repos/vpulim/node-soap/issues/541/events","html_url":"https://github.com/vpulim/node-soap/pull/541","id":54677369,"number":541,"title":"Support messages with multiple parts and handle nested includes","user":{"login":"devongovett","id":19409,"avatar_url":"https://avatars.githubusercontent.com/u/19409?v=3","gravatar_id":"","url":"https://api.github.com/users/devongovett","html_url":"https://github.com/devongovett","followers_url":"https://api.github.com/users/devongovett/followers","following_url":"https://api.github.com/users/devongovett/following{/other_user}","gists_url":"https://api.github.com/users/devongovett/gists{/gist_id}","starred_url":"https://api.github.com/users/devongovett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devongovett/subscriptions","organizations_url":"https://api.github.com/users/devongovett/orgs","repos_url":"https://api.github.com/users/devongovett/repos","events_url":"https://api.github.com/users/devongovett/events{/privacy}","received_events_url":"https://api.github.com/users/devongovett/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-01-17T22:13:14Z","updated_at":"2015-01-25T18:53:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/vpulim/node-soap/pulls/541","html_url":"https://github.com/vpulim/node-soap/pull/541","diff_url":"https://github.com/vpulim/node-soap/pull/541.diff","patch_url":"https://github.com/vpulim/node-soap/pull/541.patch"},"body":"Sorry for the huge PR, it's mostly test changes. This fixes two things: messages with multiple parts (#467), and processing of nested includes. These were both issues I saw working with [Sabre's WSDL](http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/usg/SessionCreateRQ.wsdl). For example, the GetSessionCreateInput message element has three parts. For the nested includes issue, the import for SessionCreateRQRS.xsd in turn needs to include SessionCreateRQ.xsd and SessionCreateRS.xsd. I've added a request-response test that tests both of these issues. The other test changes are a result of the WSDL parser now parsing includes recursively. I copied the missing XSD files into the test folders."},"comment":{"url":"https://api.github.com/repos/vpulim/node-soap/issues/comments/71385909","html_url":"https://github.com/vpulim/node-soap/pull/541#issuecomment-71385909","issue_url":"https://api.github.com/repos/vpulim/node-soap/issues/541","id":71385909,"user":{"login":"herom","id":2472487,"avatar_url":"https://avatars.githubusercontent.com/u/2472487?v=3","gravatar_id":"","url":"https://api.github.com/users/herom","html_url":"https://github.com/herom","followers_url":"https://api.github.com/users/herom/followers","following_url":"https://api.github.com/users/herom/following{/other_user}","gists_url":"https://api.github.com/users/herom/gists{/gist_id}","starred_url":"https://api.github.com/users/herom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/herom/subscriptions","organizations_url":"https://api.github.com/users/herom/orgs","repos_url":"https://api.github.com/users/herom/repos","events_url":"https://api.github.com/users/herom/events{/privacy}","received_events_url":"https://api.github.com/users/herom/received_events","type":"User","site_admin":false},"created_at":"2015-01-25T18:53:34Z","updated_at":"2015-01-25T18:53:34Z","body":"Hello @devongovett \r\nI'm very busy these days so please excuse my delay on answering. I thought that it might be a good idea to ask @jsdevel for his opinion on this rather big PR as he is the lead maintainer, but I haven't heard of him for a while now.  So, it seems that we're \"on our own\" now :smile: \r\n\r\nFirst off, thanks again for your work and your contribution, I appreciate it a lot!\r\n\r\nHere are some thoughts of mine after I cloned your fork (github won't show me the whole commits), please feel free to discuss these points, they are not \"written in stone\" but they seem reasonable to me:\r\n\r\n- I would prefer if you could split your PR so that the first batch of of commits (`Recursively process includes`, `Add all nested include test files`) is packed into one commit/PR, `Make tests run faster by including local xml` & `Allow setting namespace and xmlns for headers in tests` could be squashed into a single commit for testing performand and have it's own PR, as well as `Support message elements with multiple parts. Fixes #467` & `Add request-response test for multiple parts and recursive includes` could also be squashed into a single PR/commit I guess.\r\n\r\n- Is it possible for you to add smaller files within your `Add all nested include test files` commit? For example `addList__complex_extension_namespace_for_arrays/soap.platform.commonTypes.xsd` is really bloated with a huge number of `<enumeration/>`s for the containing simple types - would it be possible to limit the number of these childNodes to a maximum of 2 - 3? The same goes a along for the `soap.platform.common.xsd`, `soap.platform.fautlTypes.xsd` and so on. I think all the testcases should also be possible to create with way smaller `xsd`s. As I saw (or at least I guess - this commit is so huge that I'm a bit lost) that you included the same files in nearly all of the test directories I wonder if it would be possible to put them in another directory and reference them from there, so we don't have to copy these big files for each and every test.\r\nI guess you're using the full Sabre WSDL but I think copying them for each and every test is just a huge overkill.\r\n\r\nWhat do you think?\r\n\r\n"}}